QMessageBox
ユーザーが誤って [削除] ボタンを押した場合にユーザーに警告するためにを使用しています。ユーザーが の [OK] ボタンを押すと、(データベースに接続されている)QMessageBox
から行を削除する関数が呼び出されます。QTableView
削除後、QTableView を更新し、新しいデータ (削除された行を除く) を表示する必要があります。
現在、ユーザーがヒットするDelete button
と、警告QMessageBox
が表示されます。次に、[OK] を押すと、行が から削除され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;
}