Qt中qss的使用
Qt支持css样式表,它是网页中用来控制显示的脚本,功能丰富,可以很方便的实现各种显示效果。如果想进一步了解其语法以及使用,可访问www.w3school.com.cn。好在之前在写网站,比较熟悉。
给一个控件添加样式表,只需调用其setStyleSheet即可,传入将样式内容作为字符串传入。一般为了方便是把样式表写成一个单独的文件,后缀名随意,一般是.qss。然后在程序启动的时候加载这个文档,读入内容,调用setStyleSheet即可。
这里写了一个简单的类
qqss.h
class QQss { public: explicit QQss(); ~QQss(); public: bool LoadQss( const QString &skinfile ); // 载入样式表 public: QString qssStr; // 保存样式表内容 };
qqss.cpp
QQss::QQss() { } QQss::~QQss() { } bool QQss::LoadQss( const QString &skinfile ) { QFile file( skinfile ); // 加入项目资源中的qss文件,不要/prefix直接放在/根目录下,否则会报无法解析的错误 if( file.open( QIODevice::ReadOnly ) ) { qssStr = QString( file.readAll() ); file.close(); return true; } else { qDebug("无法打开样式表"); return false; } }
需要注意的就是上面的一个注释,qss文件如果加入到工程中的话,要直接放在'/'前缀下面,和源文件同目录才行。
另外,qss如果加到工程中的话,就会被编译链接到最后的.exe的二进制文件中了(可以在QtCreator中的帮助中查找Qt的Resource管理),但是这样就不好实现换肤的功能了,所以最好从外部来读样式表,而不要加入到工程中。如果加入到工程中,那么路径就是':/'下的路径,注意有冒号。
本文来自博客园,作者:撬动未来的支点,转载请注明原文链接:https://www.cnblogs.com/pivotfuture/p/16297453.html
CSDN:撬动未来的支点,公众号:Qt未来工程师,网站:www.qtfuture.cn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!