返回QTableView中选定行的编号

返回QTableView中选定行的编号,qt,qtableview,qstandarditemmodel,Qt,Qtableview,Qstandarditemmodel,我有以下代码: model = new QStandardItemModel(); channel = new QTableView(this); channel->setModel(model); model->setData(model->index(d,0,QModelIndex()), 0 ); model->setData(model->index(d,1,QModelIndex()),Channel); model->setData(model-

我有以下代码:

model = new QStandardItemModel();
channel = new QTableView(this);
channel->setModel(model);

model->setData(model->index(d,0,QModelIndex()), 0 );
model->setData(model->index(d,1,QModelIndex()),Channel);
model->setData(model->index(d,2,QModelIndex()),Unit);
model->setData(model->index(d,3,QModelIndex()),dimension);
model->setData(model->index(d,4,QModelIndex()),code);
model->setData(model->index(d,5,QModelIndex()),description);
我希望您只需单击一个框,返回所选字段所在的行号


你知道怎么做吗?

你指的是什么。QObject发出各种信号,您可以将这些信号连接到执行操作的函数。在您的例子中,您可能对
QTableView
的信号感兴趣(实际上由超类qabstractemview提供)

handleTableClick
确实可以被命名为您想要的任何名称,并且将是您定义用于处理此信号的公共插槽:

public slots:
    void handleTableClick(const QModelIndex &);
当用户单击有效单元格时,将调用插槽并向您传递QModelIndex。从那里你可以查看这一排

void Foo::handleTableClick(const QModelIndex &idx) {
    int row = idx.row();
}

看看这个,你是说让它响应用户的点击吗?或者可以随时手动查看所选内容?是用户单击。通过单击,用户必须返回行号,因此选择EDI,并说:“对象::连接:无此类信号QTableView::clicked(const QModelIndex&index)”
void Foo::handleTableClick(const QModelIndex &idx) {
    int row = idx.row();
}