как использовать иконки по умолчанию с qt - PullRequest
3 голосов
/ 29 марта 2009

Я использую только Qt (хотя PyQt) и не получаю значки, когда я звоню, например. QMessageBox.warning (). Есть ли способ использовать значки платформы по умолчанию? В настоящее время я использую более полный конструктор QMessageBox и вызываю setIconPixmap.

Ответы [ 3 ]

4 голосов
/ 20 апреля 2009

http://doc.qt.io/qt-5/qmessagebox.html

по вышеуказанной ссылке:

QMessageBox поддерживает четыре предопределенных уровня серьезности сообщений или типы сообщений, которые на самом деле отличаются только предопределенным значком, который каждый из них показывает. Укажите один из четырех предопределенных типов сообщений, установив для свойства icon один из предопределенных значков.

, поэтому вы должны использовать конструктор 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

НТН! приветствует

1 голос
/ 22 апреля 2009

Я не уверен, как вы написали использование окна сообщения, но вот как я его использую:

from PyQt4 import QtGui
QtGui.QMessageBox.warning(parent, dialogTitle, dialogText)

Если это не приводит к появлению значка предупреждения в окне сообщения, вы можете рассмотреть возможность обновления вашего PyQt до последней версии, поскольку в прошлом я сталкивался с небольшими ошибками, подобными этому, с некоторыми ревизиями PyQt.

1 голос
/ 31 марта 2009

Я не слишком знаком с использованием Qt через Python или использованием QMessageBox. Однако быстрый взгляд на документацию означает, что в предупреждении будет использоваться значок предупреждения, который должен быть значком по умолчанию платформы, если они не были изменены. Вы пытались просмотреть систему отслеживания ошибок Qt, чтобы убедиться, что это ошибка? Или отправить запрос об ошибке / функции для этого?

...