做了一个小的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()));
}
这个文件是源文件,可以用此方法获得所在行数据,内容等