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()
) を使用しているように見えることは理解しています。