6 Stimmen

Python QPushButton setIcon: Icon auf Schaltfläche setzen

Ich möchte ein Symbol in eine Schaltfläche einfügen. Der Code sollte folgendermaßen funktionieren:

    self.printButton = QtGui.QPushButton(self.tab_name)
    self.printButton.setIcon(QtGui.QPixmap('printer.tif'))
    self.printButton.setGeometry(QtCore.QRect(1030, 500, 161, 61))

Aber stattdessen wird die Fehlermeldung angezeigt:

    TypeError: Das Argument 1 von QAbstractButton.setIcon() hat einen ungültigen Typ

Was fehlt hier?

Alle Kommentare und Vorschläge sind sehr willkommen.

18voto

Andy M Punkte 5749

Dies ist seltsam, ich habe den Code schnell in meiner C++-Anwendung getestet und es scheint zu funktionieren...

Vielleicht könnten Sie Ihr Problem durch Verwendung dieses Codes korrigieren :

rMyIcon = QtGui.QPixmap("printer.tif");
self.printButton.setIcon(QtGui.QIcon(rMyIcon))

Hoffe, das hilft ein wenig...

7voto

baysmith Punkte 4972

Erstellen Sie ein QIcon anstelle eines QPixmap, um es an setIcon() zu übergeben. Versuchen Sie, die zweite Zeile zu ändern in

self.printButton.setIcon(QtGui.QIcon('drucker.tif'))

5voto

ThreaderSlash Punkte 1303

Hallo Baysmith und Andy... danke für das Feedback. Ich habe eure Vorschläge getestet, es hat funktioniert. Ich muss auch setIconSize hinzufügen, ansonsten wird das Symbol sehr klein angezeigt. Hier ist der Code:

def printerButton(self,tab_name):
    self.printButton = QtGui.QPushButton(tab_name)
    self.printButton.setIcon(QtGui.QIcon('icons/printer.tif'))
    self.printButton.setIconSize(QtCore.QSize(130,130))
    self.printButton.setGeometry(QtCore.QRect(1030, 500, 161, 61))

Hoffe das hilft auch anderen....|:0),

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X