【发布时间】:2017-05-26 11:31:46
【问题描述】:
在这个函数中,我试图获取触发它的按钮的bgColor,所以背景颜色可以再次设置为默认颜色。
def clickColor(button, color):
bgColor = button.palette().color(QPalette.Background)
button.setStyleSheet("background-color: %s" % color)
QTimer.singleShot(300, lambda: unClickColor(button, bgColor))
def unClickColor(button, beforeColor):
button.setStyleSheet("background-color: %s" % bgColor)
它给出以下错误消息:
Could not parse stylesheet of object 0x234ba20
打印 bgColor 变量给出:
<PyQt5.QtGui.QColor object at 0x7f28792c8358>
【问题讨论】:
-
总是质疑完整的错误信息(Traceback)。还有其他有用的信息,即。哪一行有问题。
-
顺便说一句:
bgColor是仅存在于clickColor中的局部变量,您在unClickColor中使用它 - 您应该使用beforeColor。 -
并且您需要使用
bgColor.name()将QColor转换为RGB 格式的字符串(例如“#FF0000”)。