QMessageBox中,怎么区分触发了哪个按钮

发布于 2022-09-12 03:02:41 字数 569 浏览 26 评论 0

`
//在文档中是这样示例的
For example,

QMessageBox msgBox;

QPushButton *connectButton = msgBox.addButton(tr("Connect"), QMessageBox::ActionRole);

QPushButton *abortButton = msgBox.addButton(QMessageBox::Abort);

msgBox.exec();

if (msgBox.clickedButton() == connectButton) {

// connect

} else if (msgBox.clickedButton() == abortButton) {

// abort

}`

但是我的代码会提示 if (msgBox.clickedButton() == connectButton) 这个部分类型不匹配,前边是抽象基类,
请问应当怎样完成安全的转换?或者有没有其他方法区分触发了哪个按钮?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别再吹冷风 2022-09-19 03:02:41

具体原因不详,但是找到了出问题的表面原因---没有添加<QPushButton>,未添加之前也能用,除了上面所提这一点没别的毛病,为什么没有头文件也能用我也不知道

之前的头文件是:

#include <QFile>
#include <QFileInfo>
#include <QFileDialog>
#include <QMessageBox>
#include <QTextStream>
#include <QCloseEvent>
#include <QApplication>

添加头文件<QPushButton>之后上述毛病就好了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文