[英]PyQt4 QPalette not working
{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:arguments与任何重载调用都不匹配:
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
什么也QtGui.QPalette.Window
做
如何使用调色板更改按钮颜色?
我无法纠正这个问题。 我使用的是Windows 7,PyQt4和Python 3.4
您可以在Qt文档中阅读有关QPalette
:
警告:某些样式不会将调色板用于所有绘图,例如,如果它们使用本机主题引擎。 Windows XP,Windows Vista和Mac OS X样式都是如此。
Windows 7样式也不使用按钮的调色板颜色。 您应该使用样式表为按钮指定颜色。 如果使用除Windows 7样式之外的其他主题,则可以使用QPalette.Button
角色更改按钮颜色。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.