Python QPushButton setIcon: поставить значок на кнопку - PullRequest
2 голосов
/ 15 декабря 2009

Я хочу вставить ICON в кнопку .. код должен работать так:

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

Но вместо этого выдается сообщение об ошибке:

    TypeError: argument 1 of QAbstractButton.setIcon() has an invalid type

Чего здесь не хватает?

Все комментарии и предложения высоко ценятся.

Ответы [ 3 ]

9 голосов
/ 15 декабря 2009

Это странно, я быстро протестировал код в своем приложении C ++, и он, кажется, работает ...

Может быть, с помощью этого вы можете исправить вашу проблему:

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

Надеюсь, это немного поможет ...

6 голосов
/ 15 декабря 2009

Создайте QIcon вместо QPixmap для передачи в setIcon (). Попробуйте изменить вторую строку на

self.printButton.setIcon(QtGui.QIcon('printer.tif'))
2 голосов
/ 15 декабря 2009

Привет Бэйсмит и Энди ... спасибо за вклад. Я проверил ваши предложения, это сработало. Я также должен добавить setIconSize, в противном случае значок отображается очень маленький. Вот код:

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))

Надеюсь, это поможет и другим .... |: 0),

...