crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> изменения данных в 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  


Цитата(rrmini @ 3.2.2010, 15:46) *
OrderFormDialog dialog(documentModel, docNumber, this);
dialog.exec();

При закрытии диалога я так понимаю объект dialog удаляется ? поправьте , если я ошибаюсь.
Т.к. ты создаёшь диалог на стеке (как обычную переменную, а не через оператор new), то объект будет удалён по выходу из области видимости (например по выходу из функции в которой он создан)

однако из приведённого кода я не вижу где создаётся представление. В первом сообщении оно создавалось так:
Цитата(rrmini @ 3.2.2010, 14:28) *
QTableView *view = new QTableView(0);
т.е. указатель на родителя обнулён, значит виджет не имеет родителя и является окном верхнего уровня. Такое окно (без родителя) никто удалять автоматически не будет
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.1.2025, 10:42