Qt中使用Qss

本文介绍了如何在Qt项目中使用QSS进行界面美化。通过创建资源文件、添加QSS样式、设置QLabel对象名,并在QSS文件中编写样式代码,实现了对Qt界面控件的定制美化。

Qss主要是对界面控件的美化

1 创建资源文件myqrc.qrc和 myqss.qss文件,*.pro 文件显示如下


2 添加myqss.qss作为资源文件


3 在ui文件里,创建2个QLabel,对象名为label_1,label_2

4 在myqss.qss文件中添加代码

QLabel[objectName="label_1"]
{
    border: 40px;
    background-color: rgba(0,255,0,255);;
}

QLabel[objectName="label_2"]
{
    border: 40px;
    background-color: rgba(255,0,0,255);;
}

5 项目目录结构


6 代码

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#i
QSSQt框架中用于自定义控件外观的样式语言,类似于Web开发中的CSS,支持大部分CSS 2的关键特性,这为仿制Element UI的el - radio组件提供了基础。以下是在Qt使用QSS仿制Element UI的el - radio组件的一般方法: ### 1. 准备工作 首先要创建目录和文件。新建一个`back`目录,用于存放背景图片;新建一个`file`目录,用于存放QSS文件;新建一个文件,并命名为`myQss.qss`,文件后缀为`.qss` [^4]。 ### 2. 分析Element UI的el - radio组件样式 Element UI的el - radio组件通常有特定的颜色、边框、选中效果等。一般来说,未选中时外观简洁,选中后有明显的视觉反馈,如特定颜色的边框或填充。 ### 3. 编QSS样式 以下是一个简单的QSS样式示例,用于仿制el - radio组件: ```css /* 未选中状态 */ QRadioButton::indicator { width: 16px; height: 16px; border: 1px solid #dcdfe6; border-radius: 8px; background-color: white; } /* 选中状态 */ QRadioButton::indicator:checked { border: 1px solid #409eff; background-color: #409eff; } /* 鼠标悬停状态 */ QRadioButton::indicator:hover { border: 1px solid #409eff; } /* 文本样式 */ QRadioButton { font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; font-size: 14px; color: #606266; padding-left: 5px; } ``` 在上述代码中,通过`QRadioButton::indicator`设置了单选框的基本样式,包括大小、边框、背景颜色等;`QRadioButton::indicator:checked`设置了选中状态的样式;`QRadioButton::indicator:hover`设置了鼠标悬停时的样式;`QRadioButton`设置了文本的字体、大小、颜色和内边距。 ### 4. 在Qt代码中应用QSS样式 在Qt代码中加载并应用编好的QSS样式: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout app = QApplication(sys.argv) # 创建窗口 window = QWidget() layout = QVBoxLayout() # 创建单选按钮 radio1 = QRadioButton("Option 1") radio2 = QRadioButton("Option 2") layout.addWidget(radio1) layout.addWidget(radio2) window.setLayout(layout) # 加载QSS文件 with open('file/myQss.qss', 'r') as f: qss = f.read() app.setStyleSheet(qss) window.show() sys.exit(app.exec_()) ``` ### 5. 动态调整样式(可选) 若需要动态获取QSS样式,可以使用自定义属性。在通常情况下,很多自定义样式如动态获取QSS样式,自定义属性就能很好地发挥其作用 [^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的杂货店

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值