qt之qss操作设置主题更换

前言:

 

自从安装了自定义控件,审美要求就上来了,不仅仅在满足于普通的 画面风格,可能也是看了更多的比较炫的界面,所以才想要自己做的程序界面也不落后。本文以极简的方式讲解傻瓜式自定义主题使用,当然这肯定是需要借助其他大牛做好的qss文件才可以。

准备:

当然是准备好需要风格的qss文件啦,这里提供一个我收集的一些qss 文件,有几个好看的,暂时就不大量收集,准备在几个好的qss基础上修改自己满意的 风格把,也不能完全依赖其他人的做好的风格。下载 链接:qt主题qss收集.rar_qt主题-C++代码类资源-CSDN下载

正文:

把下载好的qss文件添加到我的资源中,如图所示

qss文件放的资源路径无所谓,但是一定要注意,qss文件中如有用到图片资源的,务必请对应好路径,

举个例子,比如QDarkStyleSheet.qss中用到了图片,如图所示

那么其对应的图片资源必须放在资源文件的根目录下,即与工程文件pro同级目录

添加好资源文件后接下来就是引用了,首先采用一个自定义类方便切换主题的,这里是参照版主一去二三里,写在一个h文件中

class CommonHelper
{
public:
    static void setStyle(const QString &style) {
        QFile qss(style);
        qss.open(QFile::ReadOnly);
        qApp->setStyleSheet(qss.readAll());
        qss.close();
    }
};

然后我是通过mainwindow调用菜单切换各个主题

    connect(ui->action_W,SIGNAL(triggered()),this,SLOT(changstyle()));
    connect(ui->action_P,SIGNAL(triggered()),this,SLOT(changstyle()));
    connect(ui->action_G,SIGNAL(triggered()),this,SLOT(changstyle()));
    connect(ui->action_B,SIGNAL(triggered()),this,SLOT(changstyle()));
    connect(ui->action_U,SIGNAL(triggered()),this,SLOT(changstyle()));
    connect(ui->action_R,SIGNAL(triggered()),this,SLOT(changstyle()));


.....



//更换主题
void MainWindow::changstyle()
{

    QAction* btn = qobject_cast<QAction*>(sender());
    qDebug()<<"aasdafsaf"<< btn->objectName();
    if(btn->objectName()=="action_W")
        CommonHelper::setStyle(":/qss/white.qss");
    if(btn->objectName()=="action_P")
        CommonHelper::setStyle(":/qss/abc.qss");
    if(btn->objectName()=="action_G")
        CommonHelper::setStyle(":/qss/stylesheet2.qss");
    if(btn->objectName()=="action_B")
        CommonHelper::setStyle(":/qss/QDarkStyleSheet.qss");
    if(btn->objectName()=="action_U")
        CommonHelper::setStyle(":/style/blue.css");
    if(btn->objectName()=="action_R")
        CommonHelper::setStyle(":/style/gray.css");



}

其中setstyle的路径就是qss添加在资源中的路径,右键点击qss资源文件就会出现路径位置

效果如下:

插插插一下,这里解决一个发博客苦恼的地方,一直以来CSDN是不允许上传视频的,只能把视频压缩成gif来展示,但是gif只能坚持10秒就gg了,这里发现一个特别好用的软件,录制gif能 坚持一分钟,大小将近5M在上传允许范围内。

直接百度搜索 licecap下载 即可。

下面上传比较长一些的gif效果

怎么样,坚持的时间又长效果又好吧,比我之前先用osb录屏,然后再flv转MP4,然后再MP4转gif好的多了。哈哈哈开心

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

大桶矿泉水

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

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

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

打赏作者

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

抵扣说明:

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

余额充值