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管理),但是这样就不好实现换肤的功能了,所以最好从外部来读样式表,而不要加入到工程中。如果加入到工程中,那么路径就是':/'下的路径,注意有冒号。





posted @   撬动未来的支点  阅读(557)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示