class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
public Q_SLOTS:
void _activated( const QModelIndex & i);
public:
QTableView *table;
private:
Ui::MainWindow *ui;
};
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//ui->setupUi(this);
resize(400,200);
table = new QTableView(this);
//1:这种不触发
//connect( table, SIGNAL( activated( const QModelIndex &i )),this, SLOT( _activated(const QModelIndex &i)) );
//2:这种触发
connect( table, &QTableView::activated, this, &MainWindow::_activated );
auto model = new QStandardItemModel(this);
model->setColumnCount(3);
model->setRowCount(3);
model->setHeaderData(0,Qt::Horizontal, "姓名");
model->setHeaderData(1,Qt::Horizontal, "年龄");
model->setHeaderData(2,Qt::Horizontal, "性别");
model->setItem(0, 0, new QStandardItem("张三"));
model->setItem(0, 1, new QStandardItem("3"));
model->setItem(0, 2, new QStandardItem("d"));
table->setModel(model);
table-> resize(300,300);
}
void MainWindow::_activated( const QModelIndex & i)
{
qDebug() << i.row() << i.column();
}
MainWindow::~MainWindow()
{
delete ui;
}