引言

编写一个项目后,通过加载样式表来设置项目中的所有控件的样式,我之前习惯的是在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()转换.

qt的项目中单个文件加载样式表相关推荐

  1. linux中人脸识别不了,虹软人脸识别在 linux中so文件加载不到的问题

    其实是可以加载到的,不过是so文件放的位置不一对,最简单的方式是放在 /usr/lib64 目录下,也可自己设置. so文件加载不到会报这个错误: .lang.UnsatisfiedLinkError ...

  2. Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法

    Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法 问题描述 在Ubuntu上使用CP210x USB转UART设备时需要安装驱动程序(CP ...

  3. vue项目中 img标签加载失败方法,onerror事件的两种方法

    vue项目中 img标签加载失败方法 ?css 第一种方法 第二种方法 本人写的第一篇文章,希望对你有帮助 第一种方法 < img src="123" :οnerrοr=&q ...

  4. vue项目中 img标签加载失败(404)方法,@error事件

    vue项目中 img标签加载失败方法,@error事件 @error="defImg" <img src="123" @error="defIm ...

  5. 虹软人脸识别在 linux中so文件加载不到的问题

    其实是可以加载到的,不过是so文件放的位置不一对,最简单的方式是放在 /usr/lib64 目录下,也可自己设置. so文件加载不到会报这个错误:    .lang.UnsatisfiedLinkEr ...

  6. java properties用法_java中Properties文件加载和使用方法

    一.Properties简介 Properties 类继承自HashTable,提供的方法很像Map的实现类HashMap.它在 Java 编程的早期就有了,并且几乎没有什么变化.J2SE 的 Tig ...

  7. react项目中使用esri-loader加载天地图

    1.在项目中安装esri-loader npm install esri-loader // or yarn add esri-loader 2.加载代码如下: 代码是基于react hook编写: ...

  8. SpringBoot项目中静态资源加载失败,那可能是自定义配置类继承了WebMvcConfigurationSupport这个类

    1.跟着视频课学SpringBoot,自己的一个html登录页面就是在浏览器中渲染不出来效果,很郁闷.我的项目结构如下: 2.想要打开login.html页面,该页面用到了静态资源中的css文件及sv ...

  9. actionscript(as) 项目中 使用 fla 加载 fla

    我见到很多人都是直接就new fla里面的东西,但是我至今没有到那是怎么做到的,有网友了解,烦请留言告知. 我现在找到的方法是 在类里定义一个private var baLoader:Loader; ...

最新文章

  1. 吊打 ThreadLocal,谈谈FastThreadLocal为啥能这么快?
  2. excel乘法公式怎么输入_python吊打Excel?那是你不会用!
  3. JavaScript动态网页制作宝库
  4. 【译】Angular Elements 及其运作原理
  5. ARM开发7.5.2 基础实训( 6 ) 4×4 矩阵键盘和 2 路 LED 显示系统( 2 )--LPC21XX
  6. react ssr 简单实现
  7. SPSS Modeler 数据导入操作
  8. grep exclude
  9. Unity输入控制物体旋转和延迟缩放-课程作业
  10. 【Android学习】图片
  11. windows主机如何登录阿里云服务器
  12. mysql双主架构沈剑_58沈剑:数据库秒级平滑扩容架构方案
  13. 还记得有一年红帽考试的一道题吗?创建一个大小为250M的逻辑卷
  14. 解决pprint安装不上 | pprint_一个漂亮的打印机
  15. 解决 - Adobe Acrobat/Adobe Reader 的 Windows 任务栏图标异常
  16. redis分片式集群
  17. Flutter安卓系统把状态栏设置为透明色
  18. 最详细的链路层讲解,这一篇就够了
  19. windows蓝屏错误代码查询
  20. L1-044 稳赢 (15分)

热门文章

  1. 阿里园区的这个“格子间” 成为企业高效协同新利器
  2. 用手机「3D探店」是种什么体验?
  3. 全球CT影像20秒诊断,阿里云为新冠AI辅助诊断系统加速
  4. Istio从懵圈到熟练 – 二分之一活的微服务
  5. 云栖专辑 | 阿里开发者们的第19个感悟:Simple is better.
  6. 目标检测算法图解:一文看懂RCNN系列算法
  7. 函数计算搭建 Serverless Web 应用(一)- HTTP 触发器
  8. 五大数据库理念,读懂亚马逊云科技的数据库布局
  9. 搞不定这三大难题,根本学不会Python,别不信!
  10. 苹果支付60亿美元与高通和解?亚马逊不再运营中国国内市场业务;华为愿同德国签“无间谍软件协议”;Facebook开发语音服务...