import sys
from PyQt5.Qt import *
from qss import Qss
class Window(QWidget):
def __init__(self):
super().__init__()
self.setup_ui()
def setup_ui(self):
self.setWindowTitle("Qt桌面应用程序")
self.resize(400, 400)
self.box_layout = QVBoxLayout()
self.setLayout(self.box_layout)
# Qss.set_qss(self, "qss.qss")
self.widget_0 = QWidget()
self.widget_0.setObjectName("widget_0")
self.widget_0.resize(100, 100)
self.widget_0.move(500, 300)
self.widget_0.show()
self.widget_1 = QWidget()
self.widget_1.setObjectName("widget_1")
self.widget_1.setProperty("style", "widget_1")
self.widget_1_box_layout = QHBoxLayout()
self.widget_1.setLayout(self.widget_1_box_layout)
self.widget_1_label_1 = QLabel("widget_1 标签1")
self.size_policy = QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
self.widget_1_label_1.setSizePolicy(self.size_policy)
self.widget_1_push_button_1 = QPushButton("widget_1 按钮1")
self.widget_1_push_button_1.setSizePolicy(self.size_policy)
self.widget_1_check_box = QCheckBox("widget_1_check_box")
self.widget_1_check_box.setTristate(True)
self.widget_1_push_button_1.setSizePolicy(self.size_policy)
self.widget_1_box_layout.addWidget(self.widget_1_label_1)
self.widget_1_box_layout.addWidget(self.widget_1_push_button_1)
self.widget_1_box_layout.addWidget(self.widget_1_check_box)
self.widget_2 = QWidget()
self.widget_2.setObjectName("widget_2")
self.widget_2.setProperty("style", "widget_2")
self.widget_2_box_layout = QHBoxLayout()
self.widget_2.setLayout(self.widget_2_box_layout)
self.widget_2_label_1 = QLabel("widget_2 标签1")
self.widget_2_label_1.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
self.widget_2_push_button_1 = QPushButton("widget_2 按钮1")
self.widget_2_push_button_1.setSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum)
self.widget_2_box_layout.addWidget(self.widget_2_label_1)
self.widget_2_box_layout.addWidget(self.widget_2_push_button_1)
self.label_1 = QLabel("标签1")
self.box_layout.addWidget(self.widget_1)
self.box_layout.addWidget(self.widget_2)
self.box_layout.addWidget(self.label_1)
# self.label = QLabel(self)
# self.label.setText("你好,世界!")
if __name__ == '__main__':
app = QApplication(sys.argv)
Qss.set_qss(app, "qss.qss")
window = Window()
window.show()
sys.exit(app.exec_())
--------------------------------------------------------------------------------------------------
# qss.py
class Qss(object):
@staticmethod
def set_qss(widget, qss):
with open(qss, "r") as qss_file_handler:
widget.setStyleSheet(qss_file_handler.read())
if __name__ == "__main__":
pass
--------------------------------------------------------------------------------------------------
# qss.qss
/*
#widget_1,#widget_2,#widget_0 {
background-color:lime
}
.QWidget#widget_1 , .QWidget[style="widget_2"] {
background-color:lime
}
QWidget QPushButton {
background-color:lime
}
*/
.QWidget>QCheckBox::indicator:unchecked {
image: url(logo.png);
}
.QWidget>QCheckBox::indicator:checked {
image: url(cursor.png);
}
QWidget[style="widget_1"] QCheckBox::indicator:indeterminate {
image: url(echo_mode_text.png);
}