QT设置非主窗口的背景图片和主窗口的背景图片(详细版)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、主窗口设置背景图片
  • 二、非主窗口设置背景图片


前言

网上关于设置窗口背景图片大多数都是对于主窗口MainWindow来设置的,很少有关于其他非主窗口背景图片设置的博客,本文主要从styleSheet属性来设置主窗口和非主窗口背景图片。

一、主窗口设置背景图片

(1)首先需要在项目中创建资源文件存储背景图片,具体步骤是:右键项目->Add New Project->Qt Resource File.

(2)在主窗口的属性设置中找到stylesheet,选择  添加资源->background_image,选择对应的背景图片。此时会出现图片的路径。

图片路径示例:{background-image: url(:/new/prefix1/C:/Users/dell/Pictures/background4.jpg);

此时会出现的问题是:加入背景图片的同时会把组件也添加背景颜色,这不是我们想要的结果。

解决方法是:需要在该图片路径前面添加 #objectName(此处的objectName即是.ui界面文件的类名,可以通过属性中的QObject查看),以及使用一对花括号将图片路径给括起来,修改后的图片路径示例:

#MainWindow {background-image: url(:/new/prefix1/C:/Users/dell/Pictures/background4.jpg)};

二、非主窗口设置背景图片

(1)非主窗口的背景图片设置和主窗口类似,相同之处也是需要通过资源文件来添加。不同之处是非主窗口需要添加一个组件:Widget(在左边的组件框中选择添加)。然后在Widget的属性中的styleSheet设置背景图片,设置步骤跟上面主窗口一样。注意是在Widget的styleSheet中设置,不是在.ui界面的styleSheet中设置,这就是唯一与主窗口设置的差别。

还有一个需要注意的是:添加Widget需要在添加各种组件之前添加,也就是要第一个添加Widget,否则Widget的背景图片会把所有组件给覆盖。


总结

希望拙作能够对各位提供有效的帮助,欢迎大家在评论区探讨问题。

你可能感兴趣的:(qt,c++)