当前位置: 首页 > news >正文

如何在Qt中设置背景图片,且不覆盖其它控件

正常情况,我们直接通过在样式表里设置背景图片会出现背景图片覆盖其它控件的情况,比如下面操作:

首先右击空白处,点击改变样式表。
在这里插入图片描述

然后选择background-image
在这里插入图片描述

然后点击铅笔图标
在这里插入图片描述

之后我们要先添加前缀,也就是我们的项目名,比如我的这个项目名为Snake,那就添加一个名为Snake的前缀,后面要把资源文件添加到该前缀下,即添加到该项目下。
在这里插入图片描述

然后点击添加资源文件,把我们要用到的图片添加到该前缀下
在这里插入图片描述

上面的那三张图片就是我添加的,选择其中一张图片作为背景图片,然后一路点OK,会发现,确实添加了背景图片,但是背景图片却覆盖了其它的控件。
在这里插入图片描述
这是因为组件的继承。 最开始的面板就是父类,我们新增加的组件是子类,默认都是继承的。因此我们给父类面板控件添加背景图片,子类控件也都继承下来了,也就相当于给子类添加了背景图片,所以背景图片就覆盖了子类。
当然了继承也有继承的好处, 比如,我想统一所有的字体样式,然后就设置父类的字体样式就好了。

既然知道了原理,就不要随便设置父类的样式,以免出现子类控件继承了父类的样式这种情况。

这里我们可以使用一个跟其它组件没有继承关系的ListView,然后铺开,专门作为背景层。

我们将刚刚的操作全部删除掉,重新开始。
在这里插入图片描述

首先我们将ListView拖拽到界面上
在这里插入图片描述

然后将ListView放大,铺满整个面板,然后右击,选择放到后面,结果如下:
在这里插入图片描述

此时我们左击空白处,选中ListView,然后右击空白处,选择改变样式表,然后点击background-image:
在这里插入图片描述

后面的操作就和之前讲过的一样,先点击铅笔图标,然后添加前缀,再添加要使用的资源文件,添加后,选中该图片,一路点OK,最终呈现的效果如下,没有覆盖其它控件。
在这里插入图片描述

http://www.lryc.cn/news/7058.html

相关文章:

  • PMP考前冲刺2.14 | 2023新征程,一举拿证
  • feign进行文件上传报错解决方案及有多个入参时的注意事项
  • java 枚举类型enum的用法详解
  • Java 基础面试题——关键字
  • C++——运算符重载
  • 前端食堂技术周刊第 70 期:Volar 的新开端、Lighthouse 10、良好的组件设计、React 纪录片、2022 大前端总结
  • react路由详解
  • mysql数据库完全备份和增量备份与恢复
  • CF1667E Centroid Probabilities
  • 全网详细总结com.alibaba.fastjson.JSONException: syntax error, position at xxx常见错误方式
  • 快速部署个人导航页:美好的一天从井然有序开始
  • 【Python】如何在 Python 中使用“柯里化”编写干净且可重用的代码
  • ROS笔记(4)——发布者Publisher与订阅者Subscribe的编程实现
  • Linux进程概念(一)
  • Leetcode.1124 表现良好的最长时间段
  • 达梦数据库会话、事务阻塞排查步骤
  • sqlServer 2019 开发版(Developer)下载及安装
  • 使用Arthas定位问题
  • 性能测试之tomcat+nginx负载均衡
  • 【手写 Vuex 源码】第十一篇 - Vuex 插件的开发
  • opencv基础知识和绘图图形
  • 15- 决策回归树, 随机森林, 极限森林 (决策树优化) (算法)
  • Flink相关的记录
  • 配置可视化-基于form-render的无代码配置服务(一)
  • Java 代理模式详解
  • 知识付费小程序怎么做_分享知识付费小程序的作用
  • 14- 决策树算法 (有监督学习) (算法)
  • 如何编译和运行C++程序?
  • Golang 给视频添加背景音乐 | Golang工具
  • 让AI护理医疗:解决卫生系统的痛点