在使用Qt开发带界面的应用程序时,我们经常需要给我们的主程序添加背景图片,使我们的程序外观看起来漂亮一点。本文将介绍如何为Qt主界面添加背景图片,以及如何解决在添加背景图片时,背景图片遮盖界面控件的问题。
1、首先,我们先判断我们当前的工程是否有资源文件。如下图所示,Resources为项目的资源文件夹,如果没有这个文件夹,则该工程没有资源文件,需要先添加资源文件。有资源文件,可以直接添加图片到资源中。
1.1、添加资源文件。
在项目树中的项目名中,右键--》添加文件。如下图所示:
在弹出的新建文件对话框中,选Qt-->Qt Resource File--》choose。
在弹出的界面填上资源文件名即可。我的文件名是res。
成功添加资源文件后,工程树显示出Resources文件夹,且工程目录下多了一个res.qrc文件。
1.2、添加图片进资源文件。
在我们刚添加的资源文件上右键,选择Open With--》资源编辑器。
添加前缀为/img,然后添加图片文件。
添加图片成功后,界面显示如下:新添加的图片名字是finger.JPG
2、正式给主程序添加背景图片。
双击mainwindow.ui文件进入设计界面,按下面步骤添加背景图片。
在1中选中主窗口--》在2的styleSheet属性单击--》在3中添加imge资源--》在4中选要添加的背景图片。完成4后,需要在3中修改一下生成的代码:#MainWindow{border-image: url(:/img/finger.JPG);}。如果没修改生成的样式代码,则添加的图片会影响所有的子控件,使每个子控件都添加同样的背景图片,这是我们不想要的结果。
#MainWindow指定特定窗口生效;
border-image指定图片显示效果;
3、编译运行
通过以上的操作步骤,我们成功的为主程序添加了背景图片,且没有影响子控件,效果如下:背景图片完全覆盖工作区,且子控件未受影响。多么可爱的小手手~掐指一算,今年能发财,O(∩_∩)O哈哈~