我的 Qt GUI 应用程序中有一个实用程序类。但是,在我的便利课中,我想调用 a QMessageBox::critical()
,warning()
等。该类不是 a 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()
)。