【QT QSS系列】QSS语法深入及开发设计

本文详细讲述了在QT项目中使用QSS进行Windows和Linux平台UI开发时遇到的问题,包括不同平台样式差异、QSS语法总结、选择器应用以及通用UI结构设计。同时解析了控件在不同操作系统下的坐标问题原因和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

最近项目正在进行QT开发,UI主要用QSS形式,主要针对windows和linux平台,开发流程为在windows上开发大概成品后,部署到linux环境上。过程中发现,QT对于windows和linux不同平台,UI呈现形式不同,碰到各种奇怪问题,这边对QT各类问题及用到的QSS进行总结,并设计一种基于现有xml形式的UI结构,方便后续QT界面模块开发。后续也会对另一种QML形式的GUI进行学习总结,方便混合开发。

【debug问题点】:QT QSS GUI
【环境】:windows linux
【使用工具】:QT

二、QSS语法总结

2.1、常见方法

2.1.1、Qt Designer

在这里插入图片描述

如上图,可以通过 右键按钮->改变样式表 或者 右边属性框中的styleSheet 访问到控件的样式表,进行QSS编写。
使用该方式的好处在于,可以直观看到设计效果,通过Ctrl+R就可以预览窗体设计。并且在编辑样式表窗口中添加资源、添加渐变、添加颜色、添加字体,方便直接编辑特定样式的颜色。

!!!重点】:此类方式编辑的样式表默认作用于当前控件及其所有子控件,符合QT 父子控件继承的设计思想,当然QT也提供了相应QSS语法,能够屏蔽掉继承的影响,详见2.2.3选择器。

2.1.2、QSS文件读写

使用QFile读入样式表,使用setStyleSheet进行设置。对不同控件生效的示例代码如下:

QApplication app(argc, argv);
QFile qss("StyleSheet.qss");
qss.open(QFile:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值