PyQt 设置背景图片以及设置全局背景不影响其他控件

如何设置控件背景

控件背景简单,直接在样式表中添加以下代码:

self.textEdit.setStyleSheet("border-image:url(./icon.jpg);") 

坑:注意背景图片设置是 border-image,不是 background-image
background-image不拉伸,不自动适应页面大小

效果如图:
PyQt 设置背景图片以及设置全局背景不影响其他控件_第1张图片

如何设置全局背景不影响其他控件

如果我们给全局设置背景图片会怎么样?
如图,我直接给全局设置背景,很明显,其他控件也被填充了背景图片。
PyQt 设置背景图片以及设置全局背景不影响其他控件_第2张图片

解决办法:
看对象查看器,记住这里的名字 centralwidget
PyQt 设置背景图片以及设置全局背景不影响其他控件_第3张图片
然后我们到全局布局 MainWindow的 背景样式表里,
将原代码:

self.MainWindow.setStyleSheet("border-image:url(./icon.jpg);") 

修改为:

self.MainWindow.setStyleSheet("#centralwidget{border-image:url(./icon.jpg);}") 

效果如图:
PyQt 设置背景图片以及设置全局背景不影响其他控件_第4张图片
可以看到,其他控件没有受到影响。

你可能感兴趣的:(PyQt开发记录,qt,开发语言)