gpt4 book ai didi

c++ - 如何在 QWidget 子类之外调用 QMessageBox 静态 API

转载 作者:太空狗 更新时间:2023-10-29 19:53:18 25 4
gpt4 key购买 nike

我的 Qt GUI 应用程序中有一个实用程序类。但是,在我的便利类中,我想调用 QMessageBox::critical()warning() 等。该类不是 QWidget,因此我不能将 this 作为父级传递。但是,我的类是 QObject 的子类,因此它可以运行诸如信号和槽之类的东西。因此,要解决这个问题——如果可能的话——我是否应该查看属性 API 而不是使用静态 API?

类声明:

class NetworkManager : public QObject

下面是一个失败的静态 API 调用示例:

QMessageBox::critical(this, tr("Network"), tr("Unable to connect to host.\n"),
QMessageBox::Ok | QMessageBox::Discard);

那么,如果我要构建一个基于属性的 API 消息框,是否可以通过某种方式在 QObject 中调用它?我还没有真正使用过基于属性的 API,但我从文档中了解到它似乎使用了事件循环(即 exec())。

最佳答案

只需为第一个参数传递NULL:

QMessageBox::critical(NULL, QObject::tr("Error"), QObject::tr("..."));

关于c++ - 如何在 QWidget 子类之外调用 QMessageBox 静态 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15503000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com