我创建了一个表格视图,如下图所示:
int i = 0;
QPushButton *viewButton;
QStandardItemModel *model;
void MainWindow::on_pushButton_clicked()
{
model->appendRow(new QStandardItem(QString("")));
viewButton = new QPushButton();
viewButton->setText("Delete " + QString::number(i));
ui->tableView->setIndexWidget(model->index(i , 7), viewButton);
connect(viewButton , SIGNAL(clicked()) , this , SLOT(button_clicked()));
i++;
}
我为每个点击删除行的按钮创建了一个插槽:
void MainWindow::button_clicked()
{
// by this line I can get the sender of signal
QPushButton *pb = qobject_cast<QPushButton *>(QObject::sender());
}
从上面的代码中可以看到,我知道哪个按钮发送了信号,现在我需要删除那一行。 我的问题是: 如何获取表格视图中发送方按钮所在的行以便删除该行? 我已经在各处搜索过,但仍不知道如何获取元素的行和列。