【发布时间】:2021-11-27 22:55:48
【问题描述】:
我对代码很陌生,所以如果这是一个简单的问题,我很抱歉,但我很挣扎。 我有一个 GUI 程序,可以将用户输入保存到向量中,然后显示它,然后可以将其保存为 txt 文件。保存后,我希望出现一个 QMessageBox 询问用户是否希望删除现在保存的矢量数据。该向量被命名为 v_History。
QMessageBox msgBox;
msgBox.setText("History saved to file.");
msgBox.setInformativeText("Would you like to delete the current history?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard);
msgBox.setDefaultButton(QMessageBox::Discard);
msgBox.exec();
非常感谢任何帮助或建议。 谢谢
【问题讨论】:
-
查看文档中的示例:https://doc.qt.io/qt-5/qmessagebox.html 以
switch(ret) {开头,您需要使用auto ret = msgBox.exec();或int ret = msgBox.exec();而不是msgBox.exec();,然后使用与文档相同的技术。 -
谢谢 - 我已经取得了一些进展,但仍然无法弄清楚按下按钮后如何分配我需要的结果。我现在有这样的东西,当然,它不起作用 - 但它接近我想要实现的目标:
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); msgBox.setDefaultButton(QMessageBox::No); int ret = msgBox.exec(); msgBox.exec(); if (QMessageBox::Yes.clicked() == clear.v_history) { } else if -
@TheNuck 你打电话给
msgBox.exec()两次。只调用一次。然后比较它返回的值,例如:int ret = msgBox.exec(); if (ret == QMessageBox::Yes) { /* clear the history here */ }
标签: c++ user-interface vector qmessagebox