GUI界面美化之QSS

这篇博客详细介绍了如何使用QSS进行GUI界面美化,包括QSS的初体验、选择器的应用,以及如何控制窗口的大小操作,实现不规则窗体、加载gif动画、添加背景图片、图片缩放和透明窗体的创建。同时,还讨论了如何引入QSS文件以增强样式管理。
摘要由CSDN通过智能技术生成

QSS 初体验

  • 类似css写好样式,然后给主窗体控件添加该样式即可
......
if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = WinForm()
    # 写好样式:这里添加了背景色和边框(为了体现效果,边框设置得很粗)
    qss_style = '''
        QPushButton {
            background-color: red;
            border: 10px solid purple;
        }
    
    '''
    # 应用样式
    win.setStyleSheet(qss_style)
    sys.exit(app.exec_())

QSS 选择器(参考CSS选择器的用法)

  • demo 演示: 改变特定按钮的样式
# -*- coding=utf-8
import sys
from PyQt5.QtWidgets import *

class QSSSelector(QWidget):

    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.setWindowTitle('QSS选择器')

        btn1 = QPushButton(self)
        btn1.setText('按钮1') # 无属性值
        btn2 = QPushButton(self)
        btn2.setText('按钮2')
        btn2.setProperty('name','btn2') # 设置属性值,类似 name="btn2"
        btn3 = QPushButton(self)
        btn3.setText('按钮3')
        btn3.setProperty('name', 'btn3') # name="btn3"
 
        vbox = QVBoxLayout()
        vbox.addWidget(btn1)
        vbox.addWidget(btn2)
        vbox.addWidget(btn3)

        self.setLayout(vbox)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    main_window = QSSSelector()
    # 给 name=btn2 和 name=btn3 按钮设置样式
    qss_style = '''
        QPushButton[name="btn2"] {
            background-color: red;
            color: yellow;
            height: 120px;
            font-size: 60px;
        }
        QPushButton[name="btn3"] {
            background-color: red;
            color: yellow;
            height: 60px;
            font-size: 30px;
        }
    '''
    main_window.setStyleSheet(qss_style) # 渲染到窗体
    main_window.show()
    sys.exit(app.exec_())
  • 子控件选择器demo演示
# -*- coding=utf-8
import sys
from PyQt5.QtWidgets import *

class QSSSelector(QWidget):

    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        self.setWindowTitle('QSS子控件选择器')

        combo = QCom
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值