3

QMessageBox::warning次のような三角形の感嘆符記号でを表示するにはどうすればよいですか?

黄色の背景の三角形の感嘆符

にオプションが見つかりませんQMessageBox::warning。赤い円形の記号しか表示されません。

4

2 に答える 2

5

三角形のアイコンがQMessageBox::warningダイアログのデフォルトであり、赤い円形のアイコンがダイアログのデフォルトですQMessageBox::critical

私のPythonコードでは、どちらかを使用します

QMessageBox.warning(None,QString("..."),QString("...."))

またはより複雑

msg = "..."
q = QMessageBox(QMessageBox.Warning, "...",  QString(msg))
q.setStandardButtons(QMessageBox.Ok);
i = QIcon()
i.addPixmap(QPixmap("..."), QIcon.Normal)
q.setWindowIcon(i)
q.exec_()

そして、それらは両方ともうまく機能します。

最終的に、ダイアログを表示するために使用するコードを表示できますか?

于 2012-06-26T10:02:47.913 に答える
3

QMessageBox.setIcon()関数を使用して、ダイアログが表示されたときに表示されるシンボルを構成できます。

事前定義されたアイコンプロパティタイプは次のとおりです: https ://doc.qt.io/qt-5/qmessagebox.html#severity-levels-and-the-icon-and-pixmap-properties

黄色の三角形のアイコンが付いたメッセージボックスのC++の例を次に示します。

    QMessageBox msgWarning;
    msgWarning.setText("WARNING!\nRunning low on coffee.");
    msgWarning.setIcon(QMessageBox::Warning);
    msgWarning.setWindowTitle("Caution");
    msgWarning.exec();

そして、これが赤い丸のアイコンが付いたメッセージボックスのC++の例です。

    QMessageBox msgError;
    msgError.setText("CRITICAL ERROR!\nThe McRib is no longer available!");
    msgError.setIcon(QMessageBox::Critical);
    msgError.setWindowTitle("Danger");
    msgError.exec();
于 2019-05-09T21:01:46.190 に答える