![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
rrmini |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 41 Регистрация: 23.11.2009 Пользователь №: 1251 Спасибо сказали: 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 |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
OrderFormDialog dialog(documentModel, docNumber, this); Т.к. ты создаёшь диалог на стеке (как обычную переменную, а не через оператор new), то объект будет удалён по выходу из области видимости (например по выходу из функции в которой он создан)dialog.exec(); При закрытии диалога я так понимаю объект dialog удаляется ? поправьте , если я ошибаюсь. однако из приведённого кода я не вижу где создаётся представление. В первом сообщении оно создавалось так: QTableView *view = new QTableView(0); т.е. указатель на родителя обнулён, значит виджет не имеет родителя и является окном верхнего уровня. Такое окно (без родителя) никто удалять автоматически не будет
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.7.2025, 10:13 |