Russian Qt Forum
Апрель 27, 2024, 17:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как обработать сигнал QAbstractItemModel::dataChanged()?  (Прочитано 5063 раз)
Ignotus
Гость
« : Август 28, 2010, 19:29 »

Хочу по сигналу dataChanged() определить, изменена ли таблица на основе QSqlRelationalTableModel.

Пробовал притулить таким образом:

Код
C++ (Qt)
bool isChanged;
...
QObject::connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(tableChanged()));
...
void MainWindow::tableChanged()
{
isChanged = true;
}
 
void MainWindow::ifSave()
{
if (isChanged == true)
{
QMessageBox msgBox;
msgBox.setText("The document has been modified.");
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::Save);
 
switch (msgBox.exec())
{
case QMessageBox::Save:
model->submitAll();
break;
case QMessageBox::No:
break;
}
}
}
 

Но код в ifSave() не обрабатывается.

P.S. перенесите пожалуйста тему в раздел Qt-> база данных
« Последнее редактирование: Август 28, 2010, 19:44 от Ignotus » Записан
crossly
Гость
« Ответ #1 : Август 31, 2010, 08:50 »

гм... а какое отношение ifsave() имеет к dataChanged... ??
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #2 : Сентябрь 01, 2010, 01:12 »

Вроде как dataChanged() и имиттится когда модель изменена...
В общем я не понял вопроса.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 22.