關於獲得qt tableview行數等資訊
阿新 • • 發佈:2019-01-22
做了一個小的demo,關於獲得qt tableview行數的獲取,用的是QTableview類裡的訊號,程式碼如下所示:
這個是標頭檔案,建立了一個槽函式。//mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QModelIndex> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); public slots: void get_data(QModelIndex data); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QStandardItemModel> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QStandardItemModel *model =new QStandardItemModel(); ui->tableView->setColumnWidth(0,145); ui->tableView->setColumnWidth(1,130); //ui->tableView->setColumnWidth(2,70); model->setColumnCount(2); model->setHeaderData(0,Qt::Horizontal,tr("日期")); model->setHeaderData(1,Qt::Horizontal,tr("溫度記錄")); model->setItem(0,0,new QStandardItem("2015-07-30")); model->setItem(0,1,new QStandardItem(tr("31℃"))); model->setItem(1,0,new QStandardItem("2015-07-31")); model->setItem(1,1,new QStandardItem(tr("32℃"))); ui->tableView->setModel(model); connect(ui->tableView,SIGNAL(clicked(QModelIndex)),this,SLOT(get_data(QModelIndex))); } MainWindow::~MainWindow() { delete ui; } void MainWindow::get_data(QModelIndex data) { ui->lineEdit->setText(QString::number(data.row())); }
這個檔案是原始檔,可以用此方法獲得所在行資料,內容等