首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt4 QPalette不工作

PyQt4 QPalette不工作
EN

Stack Overflow用户
提问于 2015-01-31 22:55:57
回答 1查看 2.2K关注 0票数 3
代码语言:javascript
复制
    {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和Python3.4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-01 05:16:55

您可以在Qt文档中阅读有关QPalette的内容:

警告:有些样式并不是所有绘图都使用调色板,例如,如果它们使用本机主题引擎。对于Windows、Windows和Mac样式都是如此。

Windows 7样式也不使用按钮的调色板颜色。你应该使用样式表给你的按钮颜色。如果使用Windows 7样式以外的其他主题,则可以使用QPalette.Button角色更改按钮颜色。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28257482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档