PyQt 设置背景图片以及设置全局背景不影响其他控件
如何设置控件背景
控件背景简单,直接在样式表中添加以下代码:
self.textEdit.setStyleSheet("border-image:url(./icon.jpg);")
坑:注意背景图片设置是 border-image,不是 background-image
background-image不拉伸,不自动适应页面大小
效果如图:
如何设置全局背景不影响其他控件
如果我们给全局设置背景图片会怎么样?
如图,我直接给全局设置背景,很明显,其他控件也被填充了背景图片。
解决办法:
看对象查看器,记住这里的名字 centralwidget
然后我们到全局布局 MainWindow的 背景样式表里,
将原代码:
self.MainWindow.setStyleSheet("border-image:url(./icon.jpg);")
修改为:
self.MainWindow.setStyleSheet("#centralwidget{border-image:url(./icon.jpg);}")
效果如图:
可以看到,其他控件没有受到影响。