Вопрос редактора C ++ Qt - PullRequest
       6

Вопрос редактора C ++ Qt

4 голосов
/ 14 декабря 2010

У меня есть случай, когда мне нужно вручную закрыть постоянный редактор для QTableWidget.

По умолчанию закрытие редактора не приводит к сохранению изменений в QTableWidgetItem (он просто отбрасывает их).

Я хочу сохранить эти изменения вместе с вызовом closePersistentEditor - как это сделать?

Я пытался испустить cellChanged перед вызовом closePersistentEditor - это не помогло

1 Ответ

3 голосов
/ 14 декабря 2010

Похоже, вы можете написать что-то вроде этого

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

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