Pyqt5 QToolButton 设置样式 sheet 与 autoRaise 方法
Pyqt5 QToolButton set style sheet with the autoRaise method
我正在为 GUI 创建样式sheet .qss
文件。我正在尝试将 QToolButton
方法 autoRaise
添加到样式 sheet 中:
btn_on = QToolButton()
btn_on.setStyleSheet("""
QToolButton:autoRaised{
color: rgb(0,0,0);
background-color: rgb(142,142,142);
}
""")
btn_on.setAutoRaise(True)
但它不识别 autoRaise
属性。这与您为 QPushButton
定义 disabled
属性相同,它正在工作:
ss = QPushButton()
ss.setStyleSheet("""
QToolButton:autoRaised{
color: rgb(0,0,0);
background-color: rgb(142,142,142);
}
""")
ss.setDisabled(True)
如何在 .qss
文件中定义 autoRaise
属性?
autoRaise
(没有最后的“D”)是一个 Qt 属性.
:syntax
用于伪状态,通常表示小部件的状态或通用属性。
它们是预定义的并且对所有小部件都是通用的,即使某些状态仅由某些小部件支持(例如 :read-only
用于文本小部件)并且基于 CSS 伪 类;查看完整的 list of supported pseudo states.
如果要设置基于属性的样式,必须正确使用property selector syntax:
QToolButton[autoRaise="true"] {
color: rgb(0,0,0);
background-color: rgb(142,142,142);
}
请注意,在某些情况下,样式可能会覆盖某些绘画或完全忽略颜色。例如,在 Linux 的 Oxygen 和 Breeze 样式中,悬停样式会忽略颜色并使用默认绘画。
另请注意,样式表仅计算一次,因此如果 属性 发生更改,则不会反映更改:您需要再次重新设置样式表。 不能自动完成。
btn_on.setAutoRaise(False)
btn_on.setStyleSheet(btn_on.styleSheet())
如果样式表是在父项或应用程序上设置的,而目标小部件没有设置样式表,则必须为该父项或应用程序重新设置样式表。
我正在为 GUI 创建样式sheet .qss
文件。我正在尝试将 QToolButton
方法 autoRaise
添加到样式 sheet 中:
btn_on = QToolButton()
btn_on.setStyleSheet("""
QToolButton:autoRaised{
color: rgb(0,0,0);
background-color: rgb(142,142,142);
}
""")
btn_on.setAutoRaise(True)
但它不识别 autoRaise
属性。这与您为 QPushButton
定义 disabled
属性相同,它正在工作:
ss = QPushButton()
ss.setStyleSheet("""
QToolButton:autoRaised{
color: rgb(0,0,0);
background-color: rgb(142,142,142);
}
""")
ss.setDisabled(True)
如何在 .qss
文件中定义 autoRaise
属性?
autoRaise
(没有最后的“D”)是一个 Qt 属性.
:syntax
用于伪状态,通常表示小部件的状态或通用属性。
它们是预定义的并且对所有小部件都是通用的,即使某些状态仅由某些小部件支持(例如 :read-only
用于文本小部件)并且基于 CSS 伪 类;查看完整的 list of supported pseudo states.
如果要设置基于属性的样式,必须正确使用property selector syntax:
QToolButton[autoRaise="true"] {
color: rgb(0,0,0);
background-color: rgb(142,142,142);
}
请注意,在某些情况下,样式可能会覆盖某些绘画或完全忽略颜色。例如,在 Linux 的 Oxygen 和 Breeze 样式中,悬停样式会忽略颜色并使用默认绘画。
另请注意,样式表仅计算一次,因此如果 属性 发生更改,则不会反映更改:您需要再次重新设置样式表。 不能自动完成。
btn_on.setAutoRaise(False)
btn_on.setStyleSheet(btn_on.styleSheet())
如果样式表是在父项或应用程序上设置的,而目标小部件没有设置样式表,则必须为该父项或应用程序重新设置样式表。