C++ Qt编辑器问题

C++ Qt编辑器问题

问题描述:

我有这种情况,我必须手动关闭QTableWidget的持久编辑器。C++ Qt编辑器问题

默认情况下,关闭编辑器不会导致保存对QTableWidgetItem的更改(它只是丢弃它们)。

我希望保存这些更改以及closePersistentEditor调用 - 应如何完成?

我试过closePersistentEditor呼叫前发出cellChanged - 这并没有帮助

看起来你可以写这样的事情

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

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