【发布时间】:2013-06-17 10:11:51
【问题描述】:
我使用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;
}
【问题讨论】:
标签: c++ qt-creator qmessagebox