【发布时间】:2016-04-20 14:11:45
【问题描述】:
我在设置QToolButton 的border-image 属性时遇到了问题(稍后也是QPushButton,但我认为问题也会在那里发生)。我的每个自定义按钮(分别继承自 QToolButton 和 QPushButton)必须有 3 种状态 - 非活动、运行和错误。
非活动:
style = 'border-top-right-radius: ' + str(self.cornerRadius) + 'px; border-bottom-right-radius: ' + str(self.cornerRadius) + 'px; border-top-left-radius: ' + str(self.cornerRadius) + 'px; border-bottom-left-radius: ' + str(self.cornerRadius) + 'px; border-image: url("' + self.icon + '"); background: none;'
跑步:
style = 'border-top-right-radius: ' + str(self.cornerRadius) + 'px; border-bottom-right-radius: ' + str(self.cornerRadius) + 'px; border-top-left-radius: ' + str(self.cornerRadius) + 'px; border-bottom-left-radius: ' + str(self.cornerRadius) + 'px; border-image: url("' + self.icon + '"); background: rgb(89, 205, 139);'
错误:
style = 'border-top-right-radius: ' + str(self.cornerRadius) + 'px; border-bottom-right-radius: ' + str(self.cornerRadius) + 'px; border-top-left-radius: ' + str(self.cornerRadius) + 'px; border-bottom-left-radius: ' + str(self.cornerRadius) + 'px; border-image: url("' + self.icon + '"); background: rgb(215, 56, 56);'
self.cornerRadius 是用于确定按钮圆度的某个数字(以像素为单位),self.icon 是我从某处检索到的图标。
我在按钮的构造函数(以及其他简单的初始化)中所做的只是
self.setStyleSheet(style)
按钮的clicked() 信号连接到与系统的新状态相关的同一类中的状态更改(以及使用self.setStyleSheet(...) 的样式)的插槽。
由于某些未知原因,我的工具提示收到了它“所属”按钮的样式更改:
我已经仔细检查了Qt documentation,我认为没有任何理由可以解释这种行为。我根本不想更改工具提示的样式。任何想法如何解决这个问题?
【问题讨论】:
标签: qt pyqt tooltip qstylesheet qtoolbutton