gpt4 book ai didi

在Qt中正确的设置窗体的背景图片的几种方法总结

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章在Qt中正确的设置窗体的背景图片的几种方法总结由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

qt中正确的设置窗体的背景图片的方法大致有两种,下面将逐个讲解:

一. 利用stylesheet设置窗体的背景图片 。

使用stylesheet设置窗体的背景图片的时候,可以直接按照下图的操作去进行即可,如下图所示:

但是,需要注意的是:

1.在qwidget中这种方法是不行的,如果你足够细心的话,你会发现使用同样的设置背景图片的方法,背景图片其实并没有发生真实改变,但是它的子窗体背景图片是会发生改变的.

其实我们可以通过在添加一个i额qwidget来解决这个问题,即在qtdesigner中添加一个frame窗口,我们只需对这个新添加的frame窗口来进行stylesheet的字符串值即可,新添加的所有子控件都添加到这个新的frame窗口里.

2. 做过qt开发的朋友应该都知道,qt的子窗体是会继承父窗体的属性的,这就证明了为什么父窗体的背景在子窗体中也会有,这个是对这个原因的一个非常合理的解释。那么问题来了,我们怎么才能做到子窗体不继承父窗体的背景呢?

既然上面分析到了原因,那么我们就知道如何解决了,仍然打开stylesheet代码编辑界面,我们只需要将下面的几行代码输入进去即可解决这个问题,具体代码如下所示:

?
1
2
3
4
5
6
#窗体名称 {
border - image: url(: / houserentsystem / resources / test.png);
}
#窗体名称 * {
border - image:url();
}

二. 通过纯代码方式实现:

?
1
2
3
4
5
6
7
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中正确的设置窗体的背景图片的几种方法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/yanche521/article/details/51017601 。

最后此篇关于在Qt中正确的设置窗体的背景图片的几种方法总结的文章就讲到这里了,如果你想了解更多关于在Qt中正确的设置窗体的背景图片的几种方法总结的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com