如何在PyQT4项目中使用外部样式表?

时间:2016-10-17 15:48:57

标签: python qt user-interface pyqt4

我只是用pyqt4创建一个远程应用程序。因此,UI上有很多css。我想知道如何在网络应用程序中使用外部的stylessheets。

例如:

button_one.setStyleSheet("QPushButton { background-color:#444444; color:#ffffff; border: 2px solid #3d3d3d; width: 15px; height: 25px; border-radius: 15px;}"
                                 "QPushButton:pressed { background-color:#ccc;}")
Instead of the above code 
button_one.setStyleSheet("QPushButton.styleclass or #styleid")

2 个答案:

答案 0 :(得分:1)

无需在每个小部件上设置样式表。只需为整个应用程序设置一个样式表:

stylesheet = """
QPushButton#styleid {
    background-color: yellow;
}
QPushButton.styleclass {
    background-color: magenta;
}
QPushButton {
    color: blue;
}
"""

QtGui.qApp.setStyleSheet(stylesheet)    

可以使用setObjectName

指定窗口小部件的qss id
button_one.setObjectName('styleid')

可以使用setProperty

指定qss类
button_two.setProperty('class', 'styleclass')

对于其他qss选择器,请参阅Qt文档中的Selector Types

答案 1 :(得分:0)

冷却。非常感谢你的回答。这帮助我最终分开了我的风格:)

刚刚在外部文件中定义了我的所有应用程序样式,并在所需页面上进行了链接。 styleFile =" styles / remote.stylesheet"         使用open(styleFile," r")作为fh:             self.setStyleSheet(fh.read())