私は(PyQtではありますが)Qtのみを使用しており、QMessageBox.warning()などを呼び出してもアイコンが表示されません。プラットフォームのデフォルトアイコンを使用する方法はありますか?現在、より完全なQMessageBoxコンストラクターを使用して、setIconPixmapを呼び出しています。
3 に答える
http://doc.qt.io/qt-5/qmessagebox.html
上記のリンクから:
QMessageBoxは、4つの事前定義されたメッセージ重大度レベル、つまりメッセージタイプをサポートします。これらは、それぞれが表示する事前定義されたアイコンのみが実際に異なります。iconプロパティを事前定義されたアイコンの1つに設定して、4つの事前定義されたメッセージタイプの1つを指定します。
したがって、QMessageBoxコンストラクターを使用する必要があります。
QMessageBox ( Icon icon, const QString & title, const QString & text, StandardButtons buttons = NoButton, QWidget * parent = 0, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint )
次のアイコンのいずれかを使用できます。
http://doc.qt.io/qt-5/qmessagebox.html#Icon-enum
たとえば、アイコンに次のパラメータを渡すことができます:QMessageBox :: Warning
HTH!挨拶
メッセージボックスの使用法をどのように書いたのかわかりませんが、私はそれをどのように使用していますか:
from PyQt4 import QtGui
QtGui.QMessageBox.warning(parent, dialogTitle, dialogText)
メッセージ ボックスに警告アイコンが表示されない場合は、PyQt を最新バージョンにアップグレードすることを検討してください。これは、過去にいくつかの PyQt リビジョンでこのような小さなバグを経験したためです。
Python 経由で Qt を使用したり、QMessageBox を使用したりすることにあまり慣れていません。ただし、ドキュメントをざっと見てみると、警告には警告アイコンが使用されていることがわかります。これは、変更されていない場合、プラットフォームのデフォルト アイコンである必要があります。Qt のバグ追跡システムを調べて、バグかどうかを確認してみましたか? または、バグ/機能のリクエストを送信しますか?