次のようなテーブル ビューを作成しました。
新しい行を作成する作成ボタンがあり、ご覧のとおり、各行のボタンを定義して、次のコードでその行を削除します。
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());
}
ご覧のとおり、魔女のボタンが信号を送信することはわかっているので、その行を削除する必要があります。これが私の質問です:テーブルビューで送信者ボタンの行を取得してその行を削除するにはどうすればよいですか? どこでも検索しましたが、アイテムの行と列を取得する方法がわかりませんでした。