我遇到了必须手动关闭QTableWidget的持久性编辑器的情况。

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

我希望将这些更改与closePersistentEditor调用一起保存-应该怎么做?

我尝试在cellChanged调用之前发出closePersistentEditor-它没有帮助

最佳答案

看起来你可以写这样的东西

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

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

10-02 01:00