qt的项目中单个文件加载样式表

引言

编写一个项目后,通过加载样式表来设置项目中的所有控件的样式,我之前习惯的是在main.cpp文件中加载一个样式表,该样式表含有程序中所有控件的样式,也就是整个程序只需要加载一遍样式文件。但是多人开发时,不合理的项目结构就会导致每一个模块单独控制自己的样式,甚至每一个界面类单独加载自己的样式文件,这样就会和在main.cpp文件中只加载一个又些不同。

实现

每一个界面类单独加载自己的样式文件。

void SaveSceneDialog::readStyleFile()
{QFile file(":/saveSceneDlg.qss");/*QSS文件所在的路径*/file.open(QIODevice::ReadOnly);if(file.isOpen()){QString strFile = file.readAll();setStyleSheet(strFile);file.close();/*记得关闭QSS文件*/}
}

当在main.cpp文件中加载的时候,需要使用变量 QApplication a(argc, argv);但在ui类中却没有变量 QApplication a(argc, argv);故而需按照上述代码进行编写。
当然之前看网上有人写成下面这样:

void LayoutShowForm::readStyleFile()
{QFile file(":/LayoutShow.qss");/*QSS文件所在的路径*/file.open(QIODevice::ReadOnly);if(file.isOpen()){QString style = this->styleSheet();style += QLatin1String(file.readAll());this->setStyleSheet(style);file.close();/*记得关闭QSS文件*/}
}

这样写也是可以的,但是这样写在通过qDebug()输出样式表中的内容时,中文无法正常显示。上面第一种则可以正常显示,提倡第一种方式,不使用QLatin1String()转换.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7 使用Docker MySQL部署_01

文章目录Docker MySQL部署Docker MySQL部署 #1.拉取mysql镜像 docker pull mysql #2.查看拉取的mysql镜像 docker images#3.创建MySQL容器 docker run -di --name ly_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 mysql注:-p 代表端口映射,格式为 …

“自带大屏”的便利店,你见过吗?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下! 平常,便利店倒是见过很多,但是“自带大屏”的便利店&#xf…

Centos7 使用Docker 部署Tomca+mysql+调试联通_02

文章目录一、Tomcat部署1. 拉取tomcat镜像2. 上传cas项目3. 修改cas系统的配置文件4. 创建tomcat容器5. 浏览器测试部署的web应用6. 输入账号密码测试mysql连接7. 访问注销接口测试一、Tomcat部署 1. 拉取tomcat镜像 docker pull tomcat:7-jre7注:拉取tomcat镜像&…

qt创建右键菜单,显示在鼠标点击处

引言 给窗口创建右键菜单,右键的时候,右键菜单出现在鼠标点击处。同时设置右键菜单的样式,右键菜单为圆角,起初设置样式的时候,右键菜单的背景在圆角边缘会出现黑色的方角,不能很好的显示为圆角&#xff0…

无剧透 | 分析《复联》英雄得出的结论:什么样的技术人适合做管理?

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!转自:技术领导力作者:力小哥/技术领导力社区特约撰稿人4月24日…

Centos7 使用Docker 部署Nginx+mysql+tomcat+调试联通_03

文章目录Nginx部署1. 拉取Nginx镜像2. 创建Nginx容器3. 测试Nginx4. 配置反向代理5. 浏览器nginx容器和tomcat容器联通测试6. 浏览器tomcat容器和mysql容器联通测试7. 浏览器注销接口测试Nginx部署 1. 拉取Nginx镜像 docker pull nginx2. 创建Nginx容器 docker run -di --na…

qt种实现搜索栏功能

引言 在搜索栏种输入要搜索的文本,就会出现相关联的文本提示,这是可以通过鼠标选中要搜索的文本,或者通过上下键选中要搜索的文本。 效果 效果图如下所示: 实现 下面是相关的代码实现,读者只需参考,理解…

Docker Redis部署_04

Docker Redis部署部署 1. 拉取Redis镜像2. 创建Redis容器3. 客户端测试 1. 拉取Redis镜像 docker pull redis2. 创建Redis容器 docker run -di --namepinyougou_redis -p 6379:6379 redis查看redis容器是否已经运行: docker ps3. 客户端测试 在你的本地电脑命令提…

关于谷歌云,你应该知道的一切! | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!译者:风车云马 在国内,“谷歌云”这个词并不像“亚马逊AWS”、“微软Azure…

qt构建json字符串的时候,某一个值为字符串

引言 构建json字符串的值时,其值为一个json对象组成的字符串。下面记录一下。 实现 直接上代码来说明问题。 QJsonDocument subDoc;subDoc.setObject(subObject);QByteArray array subDoc.toJson(QJsonDocument::Compact);QString customValue array; …

Docker 容器导出为镜像

Docker 镜像备份与迁移 1. 容器保存为镜像2. 镜像备份3. 镜像恢复与迁移 1. 容器保存为镜像 我们可以通过以下命令将容器保存为镜像 docker commit pinyougou_nginx mynginxpinyougou_nginx是容器名称mynginx是新的镜像名称 pinyougou_nginx容器已经成功保存为mynginx镜像&…

qt动态添加窗口到垂直布局

引言 程序运行的过程中根据需要动态的创建窗口,每创建一个窗口,就加入列表中,使其竖直展示各个窗口。这样的操作实际是每创建一个窗口,就将其加入到垂直布局中,当点击不同的窗口时能够实现对被点击窗口的区分&#xf…

Storm精华问答 | Kafka在Storm中的角色是什么?

戳蓝字“CSDN云计算”关注我们哦!Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统等, 大数据实时处理…

SonarQube开机自启动

1、创建服务 vi /etc/init.d/sonar内容如下,其中标红内容为服务绝对路径: #!/bin/sh # # rc file for SonarQube # # chkconfig: 345 96 10 # description:SonarQube system (www.sonarsource.org) # ### BEGIN INIT INFO # Provides:…

qt通过代码创建滚动区域,添加滚动区域到窗口

引言 继承于QWidget创建的项目,要想在QWidget中添加很多子控件,考虑到若是子控件的数目不确定,太多的时候就需要添加滚动条来实现滚动查看,于是可以自定义一个类,在该类中实现滚动区域和滚动窗口的创建,然…

SwitchHosts提示切换hosts失败!没有修改'C:\WINDOWS\system32\drivers\etc\hosts'的权限问题

文章目录1. 找到hosts文件2. 右键属性3. 去除只读勾选4. 属性安全编辑5. 点击选择修改和写入即可1. 找到hosts文件 根据将地址粘贴到窗口进行搜索找到"hosts"文件 地址: C:\Windows\System32\drivers\etc2. 右键属性 鼠标放在hosts文件上右键属性 3. 去除只读勾…

使用云原生buildpacks将你的代码转换成Docker Image | 技术头条

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!当我们在大概七年前将buildpack技术开源的时候,我们就知道这项技术将大大简…

qt设置鼠标追踪后,鼠标还是需要点击后才能变样式

引言 鼠标在窗口的四个边和四个角后会显示不同的样式。在构造函数中设置了鼠标追踪,但是鼠标依然需要点击后才能改变样式,究其原因是只设置了父窗口的鼠标追踪,没有设置子控件的追踪,当然是子控件与父窗口的鼠标追踪有关才需要设…

Docker镜像备份与迁移

文章目录1. 将容器备份成镜像2. 将镜像备份成本地文件3.从本地加载备份文件恢复镜像1. 将容器备份成镜像 用centos镜像创建一个名称为mycentos的容器 docker run -id --namemycentos centos:7查看所有容器 docker ps -a将容器mycentos保存为镜像 docker commit mycentos my…

明星企业内推+BAT面经,长三角的开发者联合起来!

戳蓝字“CSDN云计算”关注我们哦!“为什么公司宁愿花20K招新人,也不愿给老员工加到20K?”这个热门的微博话题戳起了很多人的痛处,但根据 CSDN &《程序员》杂志发布的「中国软件开发者薪资调查报告」,有32.98%的开发…