Я использую QMessageBox
, чтобы предупредить пользователя, если он по ошибке нажал кнопку Удалить. когда пользователь нажимает кнопку «ОК» в QMessageBox
, вызывается функция для удаления строки из QTableView
(которая подключена к базе данных). после удаления следует обновить QTableView и отобразить новые данные (без удаленной строки).
теперь, когда пользователь нажимает Delete button
, появляется предупреждение QMessageBox
. затем, когда он нажимает «ОК», строка удаляется из QTableView
. в этот момент я ожидаю, что QMessageBox
исчезнет, и будет показана новая обновленная версия QTableView
, чего не происходит !!. вместо этого снова появляется QMessageBox
, и обновление необходимо выполнить вручную (поскольку я только запускаю приложение). Почему это происходит?
вот мой код:
QMessageBox msg;
msg.setIcon(QMessageBox::Warning);
msg.setText("Delete");
msg.setInformativeText("continue ?");
msg.setDetailedText("Delete permanently");
msg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);
msg.setDefaultButton(QMessageBox::Cancel);
int ret = msg.exec();
if(ret == 1024){
msg.Close;
deleteDataBaseRecord(); // connect to server and delete DB data which is then show the QTableView again
}
else {
msg.Close;
}