重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍在Qt中如何设置窗体的背景图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联自2013年创立以来,先为郯城等服务建站,郯城等地企业,进行企业商务咨询服务。为郯城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。Qt中正确的设置窗体的背景图片的方法大致有两种,下面将逐个讲解:
一. 利用styleSheet设置窗体的背景图片
使用stylesheet设置窗体的背景图片的时候,可以直接按照下图的操作去进行即可,如下图所示:
但是,需要注意的是:
1.在QWidget中这种方法是不行的,如果你足够细心的话,你会发现使用同样的设置背景图片的方法,背景图片其实并没有发生真实改变,但是它的子窗体背景图片是会发生改变的。
其实我们可以通过在添加一个i额QWidget来解决这个问题,即在QtDesigner中添加一个Frame窗口,我们只需对这个新添加的Frame窗口来进行styleSheet的字符串值即可,新添加的所有子控件都添加到这个新的Frame窗口里。
2. 做过Qt开发的朋友应该都知道,Qt的子窗体是会继承父窗体的属性的,这就证明了为什么父窗体的背景在子窗体中也会有,这个是对这个原因的一个非常合理的解释。那么问题来了,我们怎么才能做到子窗体不继承父窗体的背景呢?
既然上面分析到了原因,那么我们就知道如何解决了,仍然打开styleSheet代码编辑界面,我们只需要将下面的几行代码输入进去即可解决这个问题,具体代码如下所示:
#窗体名称 { border-image: url(:/HouseRentSystem/Resources/test.png); } #窗体名称 * { border-image:url(); }
二. 通过纯代码方式实现:
QWidget *widget = new QWidget(); widget->setAutoFillBackground(true); QPalette palette; QPixmap pixmap(":/HouseRentSystem/Resources/test.png"); palette.setBrush(QPalette::Window, QBrush(pixmap)); widget->setPalette(palette); widget->show();
如果你对styleSheet比较熟悉,我个人还是建议你在在QtDesigner中直接进行编辑,这样将会省去你很多工作量,至少将少了程序中完全没必要添加的冗余代码。
以上是“在Qt中如何设置窗体的背景图片”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!