{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()
вызывает ошибку
TypeError: аргументы не соответствуют ни одному перегруженному вызову:
QPalette.setColor (QPalette.ColorGroup, QPalette.ColorRole, QColor): аргумент 1 имеет неожиданный тип 'str'
QPalette.setColor (QPalette.ColorRole, QColor ): аргумент 1 имеет неожиданный тип 'str'
Пробовал QtGui.QPalette.Background
вместо btn.windowRole()
, но ничего не делает
Также пробовал QtGui.QPalette.Base
, но ничего не делает
А также QtGui.QPalette.Window
ничего не делает
Как изменить цвет кнопки с помощью палитры?
Я не могу решить проблему. Я использую Windows 7, PyQt4 и Python 3.4.
enums
в C ++. Может проблема с PyQt? Не могли бы вы попробовать обновить PyQt? (Я не особо помогаю, так как я не программист на Python ...) - person Vinícius Gobbo A. de Oliveira   schedule 01.02.2015