2009-03-29 18 views
3

Ich benutze nur Qt (obwohl PyQt) und ich bekomme keine Symbole, wenn ich z. QMessageBox.warning(). Gibt es eine Möglichkeit, die Standardsymbole der Plattform zu verwenden? Momentan verwende ich den vollständigeren QMessageBox-Konstruktor und rufe setIconPixmap auf.wie Standard-Icons mit Qt verwenden

+0

Geben Sie einen Code ein, Sie sollten das Pixmap nicht einstellen müssen, damit das Warnsymbol angezeigt wird. Ist das unter Windows/Mac/Linux? –

+0

Sorry, ich habe das Original verloren, aber es war etwas einfaches. Mit Ihrem funktioniert es nicht. – gatoatigrado

Antwort

1

Ich bin nicht zu vertraut mit Qt über Python oder QMessageBox verwenden. Ein kurzer Blick auf die Dokumentation bedeutet jedoch, dass eine Warnung das Warnsymbol verwenden würde, das die Standard-Symbole der Plattform sein sollte, wenn sie nicht geändert wurden. Haben Sie versucht, durch Qt Bug-Tracking-System zu sehen, ob es ein Fehler ist? Oder eine Bug-/Feature-Anfrage senden?

4

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

aus den obigen Link:

QMessageBox unterstützt vier vordefinierte Nachricht Schweregrade oder Nachrichtentypen, die eigentlich nur in dem vorgegebenen Symbol unterscheiden sie sich jeder zeigen. Geben Sie einen der vier vordefinierten Nachrichtentypen an, indem Sie die Symboleigenschaft auf eines der vordefinierten Symbole festlegen.

so sollten Sie den QMessageBox Konstruktor verwenden:

QMessageBox (Icon icon, const QString & title, const QString & text, StandardButtons buttons = NoButton, QWidget * parent = 0, Qt::WindowFlags f = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint) 

und Sie eines dieser Symbole verwenden:

http://doc.qt.io/qt-5/qmessagebox.html#Icon-enum

zum Beispiel Sie diesen Parameter für Symbol passieren kann: QMessageBox :: Warnung

HTH! begrüßt

1

Ich bin nicht sicher, wie Sie Ihre Nutzung der Message-Box geschrieben, aber hier ist, wie ich es verwenden:

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

Wenn das nicht ein Warnsymbol in Ihrer Nachrichtenbox produziert, dann sind Sie Vielleicht solltest du in Betracht ziehen, dein PyQt auf die neueste Version zu aktualisieren, weil ich in der Vergangenheit mit einigen PyQt-Revisionen kleine Bugs wie diese erlebt habe.

+0

Ich habe, nur heute ... gibt es wahrscheinlich eine Bibliothek für die Symbole, die ich nicht installiert habe. Bitte mach dir keine Sorgen darüber, es sei denn, du weißt es bereits (oder bist ein qt-Entwickler); es ist nicht so ein Problem für mich. Prost, Nicholas – gatoatigrado