2014-09-25 74 views
0

當某些事件發生時,我需要完成編輯QTableWidget。如何結束編輯QTableWidgetItem

MyWindow::onSomeEvent 
{ 
    // Finish ui->table editing 
    //... 
} 

我該怎麼做?


該事件是一個spinbox編輯。當它發生行計數成爲它的價值。

我試着發送回車鍵按下事件。但是,當編輯最後一行中的項目並且新行數量少於當前時,它不起作用。

QKeyEvent *ev = new QKeyEvent(QEvent::KeyRelease, 
           Qt::Key_Return, 
           Qt::NoModifier); 

QApplication::sendEvent(ui->table, ev); 
ui->table->setRowCount(value); 
QApplication::sendEvent(ui->table, ev); 

回答

0

試試這個:

MyWindow::onSomeEvent() 
{ 
    QKeyEvent *ev = new QKeyEvent(QEvent::KeyRelease,Qt::Key_Return,Qt::NoModifier); 
    QApplication::sendEvent(ui->tableWidget,ev); 
} 

你只是模仿Enter有事時按下。

+0

我不想讓表格不可編輯。我想要輸入新值來編輯單元格,就像我按下Enter鍵一樣。 – Ufx 2014-09-25 15:49:43

+0

@烏克蘭對不起,但我明白,看到我的編輯,我測試它,工作正常。 – Chernobyl 2014-09-25 15:57:12

+0

問題已更新 – Ufx 2014-09-25 16:13:14

相關問題