我创建了一个像这样的表格视图:
我有一个创建按钮来创建新行,如您所见,我为每一行定义了一个按钮,以通过以下代码删除该行:
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());
}
如您所见,我知道女巫按钮发送信号,现在我需要删除该行。这是我的问题:如何在表格视图中获取发件人按钮的行以删除该行?我到处搜索,我没有意识到如何获取项目的行和列。