Wie lege ich ein Icon für ein Qpushbutton in einem GUI mit Platzhaltern im Qt Designer?
Lösung:
Mein Fehler: Die Datei, wo das hinzufügen des symbols auf der Schaltfläche, wird über die "Platzhalter" - Funktion von QtDesigner. Das Main-programm in einem anderen Ordner sucht, in seinem eigenen Ordner für die Icons, nicht in den Ordner "imported" - Datei. So Sie müssen nur fügen Sie den Pfad zu dem icon:
dirpath = os.path.dirname(os.path.abspath(__file__))
icon1_path = os.path.join(dirpath,"arrow_down.ico")
icon = QtGui.QPixmap(icon1_path)
Erstellen Sie ein Qpushbutton mit einem Symbol anstelle von text:
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("arrow_down.png"))
self.ui.pb_down.setIcon(icon)
Aber das funktioniert nicht. Weder das funktioniert:
self.ui.pb_down.setIcon(QtGui.QIcon("arrow_down.png"))
Theres ist keine Fehlermeldung, das Symbol halt nicht angezeigt.
Wenn ich das Symbol über dem Qt Designer, das Symbol wird angezeigt, in der Qt-Desiger selbst, aber beim ausführen des Programms, das Symbol verschwindet wieder. Weiß jemand was Los ist???
Im mit python 2.7 und Windows 7
Edit:
Mit @Chris Aung code, bekomme ich einen button mit icon.
button = QtGui.QPushButton()
self.setCentralWidget(button)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("arrow_down.ico"))
print button.icon().isNull() #Returns true if the icon is empty; otherwise returns false.
#output = False
Aber wenn ich genau diesen code in meine GUI, es ist nur nicht das icon hinzufügen.
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("arrow_down.ico"))
self.ui.pb_down.setIcon(icon)
print self.ui.pb_down.icon().isNull()
# output = True
Ich habe keine Ahnung, wo das problem ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage zu schaffen, die
QPushButton
mit Symbol, ohne irgendein problem mit dem code, den Sie zur Verfügung gestellt haben.Der folgende Code ist der code, den ich verwendet.Ich schlage vor, Sie überprüfen Sie Ihre
png
Bild wieder(oder versuchen Sie es mit einigen anderenpng
Bild). Ich bin nicht völlig überzeugt, dass es das problem lösen wird, aber ich hatte das ähnliche problem vor und mit einem anderen.png
Bild scheint das problem zu beheben.Dies funktioniert für mich und ist automatisch generiert von pyqt und wenn Sie konvertieren ein .ui-Datei zu .py mit der pyuic4 tool.
Wenn Sie diese Einstellung wählen, müssen Sie auch definieren, "_fromUtf8" an der Spitze Ihrer Modul:
Haben Sie text gerendert auf, die Taste?
Spielen Sie mit den icon-Größe setIconSize(), mit zu beginnen, können Sie versuchen, die Einstellung der rect-der pixmap.