【问题标题】:How to change QPushButton text and background color如何更改 QPushButton 文本和背景颜色
【发布时间】:2014-08-30 19:22:07
【问题描述】:

我正在使用以下代码将QMenu 连接到QPushButton。单击按钮时,会显示包含多个子菜单项的下拉菜单。

button=QPushButton()
button.setText("Press Me")

font=QtGui.QFont()
button.setFont(font)
button.setSizePolicy(ToolButtonSizePolicy)

button.setPopupMode(QtGui.QToolButton.InstantPopup)
menu=QtGui.QMenu()
button.setMenu(menu)

menuItem1=menu.addAction('Menu Item1')
menuItem2=menu.addAction('Menu Item2') 

现在根据条件我想通过给它一个文本和背景颜色来自定义QPushButton 显示。以下代码行(它应该改变背景颜色)对连接到 QMenu 的QPushButton 没有影响。

button.setStyleSheet('QPushButton {background-color: #A3C1DA}')

我想知道如何更改QPushButton 的背景颜色以及按钮文本的颜色。

【问题讨论】:

  • 与您的代码有些不一致:未定义 ToolButtonSizePolicy,只有 QToolButtons 具有 setPopupMode,而不是 QPushButtons。对于样式表,不管它是 QToolButton 还是 QPushButton。你的样式表应该可以工作了。

标签: python qt pyqt qtstylesheets


【解决方案1】:

除了与您的代码示例设置QPushButton 的背景颜色和文本颜色的一些不一致之外,以下情况可以正常工作:

setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')

示例(使用 PySide):

from PySide import QtGui

app = QtGui.QApplication([])

button = QtGui.QPushButton()
button.setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')
button.setText('Press Me')
menu = QtGui.QMenu()
menuItem1 = menu.addAction('Menu Item1')
menuItem2 = menu.addAction('Menu Item2')

button.setMenu(menu)
button.show()

app.exec_()

结果:

【讨论】:

    【解决方案2】:

    对于那些仍然想用说明改变按钮颜色的人

    button.setStyleSheet('QPushButton {background-color: #A3C1DA}')
    

    并不能这样做,只需将上面的指令修改为

    button.setStyleSheet('QPushButton {background-color: #A3C1DA; border:  none}')
    

    它会改变按钮的颜色,所以诀窍是去除边框

    【讨论】:

      【解决方案3】:

      我会在 Trilarions 答案中添加评论,但没有足够的代表..

      我能够使用他的建议,而无需删除边框

      self.show() 
      self.button.setStyleSheet('background-color: red;')
      

      在执行 .show() 之后 在我的申请中。不知道为什么在工作之后而不是之前。如果有人能解释一下那就太好了

      【讨论】:

        猜你喜欢
        • 2018-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-25
        • 1970-01-01
        • 2014-01-07
        • 2013-05-20
        相关资源
        最近更新 更多