{btn = QtGui.QPushButton('Button', self)
palettes = btn.palette()
palettes.setColor(btn.backgroundRole(),QtCore.Qt.green)
btn.setPalette(palettes)
btn.setAutoFillBackground(True)}
Использование btn.backgroundRole()
обеспечивает только зеленую рамку к кнопке.
Использование btn.foregroundRole()
изменяет цвет текста кнопки
Использование btn.windowRole()
дает мне ошибку
PyQt4 QPalette не работает
TypeError: arguments did not match any overloaded call:
QPalette.setColor(QPalette.ColorGroup, QPalette.ColorRole, QColor): argument 1 has unexpected type 'str'
QPalette.setColor(QPalette.ColorRole, QColor): argument 1 has unexpected type 'str'
Пробовал QtGui.QPalette.Background
вместо btn.windowRole()
, но ничего не делает
также попытался QtGui.QPalette.Base
, но ничего не делает
А также QtGui.QPalette.Window
ничего не делает
Как изменить цвет кнопки с помощью палитр?
Я не могу исправить проблему. Я использую Windows 7, PyQt4 и Python 3.4
Не знаю о PyQt4, но это 'enums' на C++. Может быть, проблема с PyQt? Не могли бы вы попытаться обновить PyQt? (Я не очень много понимаю, потому что я не программист на Python ...) –