PyQt: 练习1 QSSPyQt: 练习1 QSSPyQt: 练习1 QSSPyQt: 练习1 QSS
  • 首页
  • 博客
  • 文件
  • 书签
  • 分析
  • 登录
Search
Generic filters

PyQt: 练习1 QSS

Published by admin at 2022年4月24日
Categories
  • Practice
Tags
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);
}

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Categories

  • 猫
  • Python
  • MySQL
  • Django
  • Html/CSS
  • JavaScript
  • Vue
  • RegExp
  • php
  • Practice
  • Virtualization
  • Linux
  • Windows
  • Android
  • NAS
  • Software
  • Hardware
  • Network
  • Router
  • Office
  • WordPress
  • SEO
  • English
  • Games
  • Recipes
  • living
  • Memorandum
  • Essays
  • 未分类

归档

©2015-2022 Alaica Blog support@alaica.com