изменения данных в QTableView и установка setWindowModified(true); |
Здравствуйте, гость ( Вход | Регистрация )
изменения данных в QTableView и установка setWindowModified(true); |
rrmini |
3.2.2010, 11:28
Сообщение
#1
|
Студент Группа: Участник Сообщений: 41 Регистрация: 23.11.2009 Пользователь №: 1251 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имеется связка model - view:
CODE QSqlTableModel *model = new QSqlTableModel(0); model->setEditStrategy(QSqlTableModel::OnManualSubmit); ..... QTableView *view = new QTableView(0); view-> setModel(model); view-> setWindowTitle(trUtf8("Таблица[*]")); view-> setWindowModified(false); .... Задача: 1. При изменении пользователем данных в ячейках( одной ячейки) таблицы или при добавлении(удалении) строки установить view->setWindowModified(true); 2. После сохранения изменений if(model->submitAll()) view->setWindowModified(false); Я так понимаю при уловии задачи 1 должен генериться какой-то сигнал. который можно отловить? |
|
|
Litkevich Yuriy |
3.2.2010, 13:35
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
OrderFormDialog dialog(documentModel, docNumber, this); Т.к. ты создаёшь диалог на стеке (как обычную переменную, а не через оператор new), то объект будет удалён по выходу из области видимости (например по выходу из функции в которой он создан)dialog.exec(); При закрытии диалога я так понимаю объект dialog удаляется ? поправьте , если я ошибаюсь. однако из приведённого кода я не вижу где создаётся представление. В первом сообщении оно создавалось так: QTableView *view = new QTableView(0); т.е. указатель на родителя обнулён, значит виджет не имеет родителя и является окном верхнего уровня. Такое окно (без родителя) никто удалять автоматически не будет
|
|
|
Текстовая версия | Сейчас: 22.1.2025, 10:42 |