Хочу по сигналу 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-> база данных