Qt中qss的使用

来源:互联网 发布:小学语文网络研修微课 编辑:程序博客网 时间:2024/06/11 16:26

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





0 0
原创粉丝点击