QT项目中添加资源文件和使用qss样式

2024-01-08 00:15:34

时间记录:2024/1/6

一、添加使用资源文件

1.1 创建项目并打开项目(带ui界面的项目)
1.2 使用快捷键Ctrl+n创建文件,选择"QT"下面的"QT Resource File"
添加资源文件
1.3 输入文件名和文件保存路径
文件名
1.4 将需要添加的文件复制到项目目录下,可以创建个文件夹专门用来保存资源文件
1.5 将文件引入到QT项目
1.5.1 添加前缀
添加前缀
1.5.2 添加文件
添加文件
1.6 应用资源文件,将图片文件加载到QLabel标签上显示
应用资源文件

二、样式设置QSS,类似于CSS,很多的CSS都可以使用

2.1 使用ui界面进行设置,右键单击控件选择“改变样式表”,然后写入QSS代码即可
2.2 使用代码方式实现
使用控件的setStyleSheet方法进行设置,参数字符串为QSS样式代码

QLabel *label1 = new QLabel;
label1->setStyleSheet("QLabel{border-image: url(:/icon/app.ico);}");
label1->setParent(this);
label1->setGeometry(0,0,100,100);
label1->show();

2.3 创建qss文件,然后在qss文件中进行编写样式,最后加载qss文件设置全局样式,类似于CSS中引入外部样式文件方式

QFile file(":/qss/style.qss");
if(file.exists()){//判断文件是否存在
	file.open(QFile::ReadOnly);//以只读方式打开
	QString styleSheet = QLatin1String(file.readAll());//读取文件,以字符串形式存储
	qApp->setStyleSheet(styleSheet);//设置全局样式
	file.close();//关闭文件
}

设置全局样式的注意点:
1.Windows中需要打开qss文件,将文件的编码改为UTF-8/ANSI编码,不能是UTF-8 BOM
2.全局样式设置时,为了给同类型控件不同的控件对象设置不同样式,需要进行区分,此时需要设置对象名,然后区分

label1->setObjectName("label1");
QLabel#label1{
	border-image: url(:/icon/app.ico);
}

文章来源:https://blog.csdn.net/m0_49156395/article/details/135432897
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。