【问题标题】:pyQt QPushButton colourpyQt QPushButton 颜色
【发布时间】:2014-05-25 14:28:14
【问题描述】:

使用 pyQt 4.8.5 在 Python 2.7 中编写:pyQt QPushButton 小部件的默认背景颜色是什么?我可以将颜色设置为绿色,但不能将其恢复为默认颜色。我的意思的快照:

负责这个的函数:

def StartTransmit(self):
        self.ui.Transmit.setStyleSheet("background-color: green")**
        # self.ui.Transmit.setStyleSheet("background-color: DEFAULT <later on>")
        self.number = random.randint(1,10)
        self.ui.lcd.display(self.number)
        self.timer.start(1000)

【问题讨论】:

    标签: colors pyqt qpushbutton


    【解决方案1】:

    答案是'浅灰色',例如:

    def StartTransmit(self):
        self.ui.Transmit.setStyleSheet("background-color: green")
        self.timer.start(1000)
    
    def StopTransmit(self):
        self.ui.Transmit.setStyleSheet("background-color: light gray")
        self.timer.stop()
    

    【讨论】:

    • 如果用户在 Windows 上设置自定义颜色,此解决方案将不起作用
    【解决方案2】:

    默认情况下,小部件上没有样式表。您可以通过打印任何小部件的样式表来检查它。

    print self.pushButton.styleSheet()
    

    将打印一个空字符串。要设置小部件的默认颜色,只需将背景颜色设置为 None

    self.pushButton.setStyleSheet('background-color: None')
    

    这样您可以恢复任何小部件的默认背景颜色。

    编辑

    在您的情况下,添加以下代码:

    def stopTransmit(self)
        ...
        self.ui.Transmit.setStyleSheet('background-color: None')
        ...
    

    【讨论】:

      【解决方案3】:

      默认情况下,小部件使用您系统的标准样式表(Mac、Windows、GTK)。

      您可以使用您已经在使用的调用设置新样式表(以推翻原来的样式表):

      self.ui.Transmit.setStyleSheet('your-stylesheet')
      

      如果您想恢复到原始样式表,请使用空样式表:

      self.ui.Transmit.setStyleSheet('')
      

      【讨论】:

        【解决方案4】:

        尝试使用类似的东西

        self.pushButton.setStyleSheet("background-color: color")
        

        【讨论】:

        • user1929959 - 没用,只是把按钮变黑了。当然答案类似于'background-color: xxxx'——这就是我特别问的原因——默认背景颜色是什么?
        猜你喜欢
        • 2014-01-07
        • 1970-01-01
        • 2017-05-26
        • 2021-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-06
        相关资源
        最近更新 更多