我有一個QTableWidget和所有的行我設置一個setCellWidget在一列的按鈕。Qt表部件,刪除行按鈕
我想將此按鈕連接到刪除此行的函數。 我試過這段代碼,它不起作用,因爲如果我只是單擊我的按鈕,我不會將當前行設置爲按鈕的行。
ui->tableWidget->insertRow(ui->tableWidget->rowCount());
QPushButton *b = new QPushButton("delete",this);
ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1,0,b);
connect(d,SIGNAL(clicked(bool)),this,SLOT(deleteThisLine()));
...
void MainWindow::deleteThisLine()
{
int row = ui->tableWidget->currentRow();
ui->tableWidget->removeRow(row);
}
如何以功能知道哪個按鈕(在哪個行)被按下的方式將我的按鈕連接到函數?
傳遞行號作爲發出信號時的參數,並且在槽中刪除接收到的行號。 –
如果您沒有對此信號/插槽進行排隊,您可能會遇到問題,因爲您在刪除行**和按鈕**的同時仍處理此按鈕上的「單擊」信號。 – ymoreau
@ user7431005嘗試此連接:'connect(d,&QPushButton :: clicked,this,&MainWindow :: deleteThisLine);' – aghilpro