Python 使用css类的PyQt样式设置失败
我正在开发一个GUI,其中必须显示一些工具按钮。 我正在使用一个外部CSS文件来设置它们的样式。 为了方便起见,我定义了一个CSS类(带有setProperty),并在CSS文件中使用它来根据按钮的类更改按钮的外观 我的Python代码如下所示:Python 使用css类的PyQt样式设置失败,python,css,qt,pyqt,stylesheet,Python,Css,Qt,Pyqt,Stylesheet,我正在开发一个GUI,其中必须显示一些工具按钮。 我正在使用一个外部CSS文件来设置它们的样式。 为了方便起见,我定义了一个CSS类(带有setProperty),并在CSS文件中使用它来根据按钮的类更改按钮的外观 我的Python代码如下所示: ... bt = QtGui.QToolButton(parent.qtObject) bt . setToolButtonStyle ( QtCore.Qt.ToolButtonTextUnderIcon ) bt.setProperty('clas
...
bt = QtGui.QToolButton(parent.qtObject)
bt . setToolButtonStyle ( QtCore.Qt.ToolButtonTextUnderIcon )
bt.setProperty('class','StaticButton')
bt.setStyleSheet(css_content)
...
我的CSS是这样的:
QToolButton.StaticButton
{
border: 2px solid #4f4f51;
border-radius: 5px;
font-size: 10px;
background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #e4e4c8, stop: 1 #b9b9a9);
}
问题是,只有按钮的背景受到影响。我尝试了许多替代方法,比如CSS文件中的QToolButton[class=StaticButton]
,或者仅限于.StaticButton
。这两种选择都导致了储蓄行为。
如果我直接在按钮上应用CSS,使用:
bt.setStyleSheet("border: 2px solid #4f4f51;border-radius: 5px;font-size: 10px;background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #e4e4c8, stop: 1 #b9b9a9);")
所有这些都可以完美地工作,但我不想在python代码中使用CSS
有人能告诉我我的代码出了什么问题吗?我不明白为什么使用background属性,而不使用其他属性
注意:我已经检查了导入的CSS,文件完全有效。我做了几次测试,每次,只有背景属性起作用。。。发生了什么事
谢谢根据参考图纸设置属性将必须工作,但有一个恼人的事情。附言:我遭受这个问题大约一个月,然后承认失败 我的解决方案即将奏效。有点黑
bt = QToolButton(.)
bt.setObjectName("btStaticxxx") # xxx to any string
css
根据参考图纸,设置属性将必须工作,但有一个恼人的事情。附言:我遭受这个问题大约一个月,然后承认失败 我的解决方案即将奏效。有点黑
bt = QToolButton(.)
bt.setObjectName("btStaticxxx") # xxx to any string
css
你的意思是,我们需要在CSS中的类名之后使用
*
on吗?“*”在QToolButton上#btStatic*是一个通配符#btStatic*折叠“btStaticmybutton”或“btStatic2”。您的意思是,我们需要在CSS中的类名之后使用*
on吗?“*”在QToolButton上#btStatic*是通配符#btStatic*折叠“btStaticmybutton”或“btStatic2”。