QT中如何使用样式表文件Qss

Qt样式表是一个可以自定义部件外观的强大机制,样式表的概念、术语、语法均受到HTML的层叠样式表(Cascading Style Sheets,CSS)的启发。
样式表可通过QApplication::setStyleSheet()函数将其设置到整个应用程序上,也可以使用QWidget::setStyleSheet()将其设置到指定的部件或子部件上,不同级别均可设置样式表,称为样式表的层叠。样式表也可通过设计模式编辑样式表。

新建资源文件.qrc

在这里插入图片描述
这一步名字随便起,然后下一步直接完成就可以。
在这里插入图片描述

新建qss文件,加入资源文件中

打开QT项目的文件中,在项目中新建一个**.qss文件,然后再QT开发工具中Resources右键,选择【添加现有文件】,选择刚才新建的**.qss。最终结构为下图:
在这里插入图片描述

style.qrc下的/为资源前缀,可以认为是目录,也可以认为是命名空间。

在qss文件中添加样式

QMainWindow 就是部件的类名,这样设置所有这样的部件都生效
QMainWindow{
    background-color:#fff;
}

#connectTest 是设置的部件具体的名称,只有这个名字的部件才生效
QPushButton#connectTest{
    background-color:#5eb95e;
    border-radius:3px;
    color:white;
    font-size:14px;
}

:hover 就是css鼠标放上后的效果
QPushButton#connectTest:hover{
    background-color:#4da84d;
}

除了选择器与CSS不一样外,样式的写法与关键字是一样的,会前端CSS这个就不是问题。

样式表加入程序中,使之生效。

首先就是把QFile引入进来,在mainwindow.h中

#include <QFile>

在mainwindow.cpp中的构造函数中添加一下代码

	QFile *styleFile;
    styleFile  = new QFile(":/style.qss", this); //获取资源文件的对象
    styleFile->open(QFile::ReadOnly);//只读模式
    QString styleSheet = QString(styleFile->readAll());//读出的数据转成字符串
    qApp->setStyleSheet(styleSheet);//qApp 程序的唯一全局指针 设置样式
    styleFile->close();//最后关闭这个文件

效果

截取的程序的一部分
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

梦里藍天

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

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

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

打赏作者

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

抵扣说明:

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

余额充值