PyQt QPushButton 颜色

4
使用pyQt 4.8.5在Python 2.7中编写:pyQt QPushButton部件的默认背景颜色是什么?我能够将其设置为绿色,但无法将其返回到默认颜色。下面是我的意思的截图: enter image description here 负责此操作的函数:
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)
4个回答

3
答案是“浅灰色”,例如:
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()

3
如果用户在Windows中设置了自定义颜色,这个解决方案将不起作用。 - qurban

1

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

print self.pushButton.styleSheet()

将打印一个空字符串。要设置小部件的默认颜色,只需将背景颜色设置为None
self.pushButton.setStyleSheet('background-color: None')

这样您就可以恢复任何小部件的默认背景颜色。 编辑 在您的情况下,添加以下代码:
def stopTransmit(self)
    ...
    self.ui.Transmit.setStyleSheet('background-color: None')
    ...

0

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

您可以使用您已经使用的调用设置新的样式表(以覆盖原始样式表):

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

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

self.ui.Transmit.setStyleSheet('')

-1
尝试使用类似以下的内容:
self.pushButton.setStyleSheet("background-color: color")

user1929959 - 没有起作用,只是把按钮变成了黑色。当然,答案类似于“background-color: xxxx” - 这就是为什么我特别问 - 默认的背景颜色是什么? - Harry Lime

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接