2010-12-14 102 views
4

我有這種情況,我必須手動關閉QTableWidget的持久編輯器。C++ Qt編輯器問題

默認情況下,關閉編輯器不會導致保存對QTableWidgetItem的更改(它只是丟棄它們)。

我希望保存這些更改以及closePersistentEditor調用 - 應如何完成?

我試過closePersistentEditor呼叫前發出cellChanged - 這並沒有幫助

回答

3

看起來你可以寫這樣的事情

void MyTableWidget::commitAndClosePersistentEditor(const QTableWidgetItem* item) 
{ 
    if (!item) 
     return; 

    QModelIndex index = indexFromItem(item); 
    QWidget* editor = indexWidget(index); 
    commitData(editor); 
    closePresistentEditor(item); 
}