qt设置顶层窗口_qt设置窗口的背景图片

在Qt编程中,设置窗口背景有多种方法,如QPalette、setStyleSheet等。本文探讨了使用QPalette在父窗口和子窗口设置背景时遇到的问题,以及setStyleSheet的限制,特别是它只能应用于有父窗口的子窗口。同时,文章指出在顶层窗口使用setStyleSheet会导致子窗口背景设置失效,并建议避免在顶层窗口中使用该方法,以保持设置背景的灵活性。
摘要由CSDN通过智能技术生成

在Qt中设置widget背景颜色或者图片方法很多种:重写paintEvent() , 调色板QPalette , 样式表setStyleSheet等等。

但是各种方法都有其注意事项,如果不注意则很容易陷入麻烦中。

1:使用QPalette设置

如果给父窗口设置背景往往闪烁一下就不见了,一直没有生效,好像只能在子窗口中设置,但是子窗口中也必须setAutoFillBackground(true);,要不然也不生效;

所以目前想到的办法是:在父窗口创建的时候,新建一个Qlabel/QToolButton,resize,然后通过palette,来设置子窗口的背景图片。不知道大家遇到这种情况了?

styleSheet参考这个:

2:setStyleSheet()

这个函数我一直很喜欢使用,因为只要写一句就可以实现效果,比其他方法都简单,但是其却有一个很值得注意的地方,也就是这个地方让我大吃苦头。

亦即:①:该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背景颜色或图                             片!!

②:同时:对于一个父窗口而言:如果我们用setStyleShette设置了其样式,而对于其子窗口:如果没有用同样的函数来设

置的话, 则其子窗口的样式和其父窗口完全一致,亦即:其集成了自己父窗口的样式!

③:延伸:对顶层窗口(没有父窗口),

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值