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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

撬动未来的支点

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

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

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

打赏作者

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

抵扣说明:

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

余额充值