Pyside2&PyQt5设置背景图片
平时我们在Designer中的styleSheet设置背景图片会导致其它控件也会被设置上背景图片。(如果一定要用Designer解决方法在下面)

讯享网
为解决这个问题,在代码中按如下设置即可单独设置背景图不影响其它。图片会随着窗口的尺寸变化自适应改变大小。
核心代码:
self.centralwidget.setObjectName("wkWgt") # 替换背景图片只对当前窗口生效 核心代码 self.centralwidget.setStyleSheet("#wkWgt{border-image:url(C:/User/变色龙.jpg);}") # 替换图片路径 核心代码
讯享网
完整案例
讯享网from PySide2 import QtCore, QtGui, QtWidgets from PySide2.QtWidgets import QMainWindow, QApplication,QMessageBox import sys class Ui_MainWindow(QMainWindow): def __init__(self, parent=None): super(Ui_MainWindow, self).__init__(parent) self.setupUi(self) def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(518, 421) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("wkWgt") # 替换背景图片只对当前窗口生效 核心代码 self.centralwidget.setStyleSheet("#wkWgt{border-image:url(C:/User/变色龙.jpg);}") # 替换图片路径 核心代码 self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(20, 330, 201, 61)) self.pushButton.setObjectName("pushButton") MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "背景设置")) self.pushButton.setText(_translate("MainWindow", "设置背景-其它控件不受影响")) if __name__ == '__main__': app = QApplication(sys.argv) myWin = Ui_MainWindow() myWin.show() sys.exit(app.exec_())
Designer中设置背景办法
1、点击QWidget

2、选中QWidget,搜索stylesheet

3、点击stylesheet旁边的三个点,在弹出的编辑框中输入:

#centralwidget{border-image: url(:/background-image/Desktop/壁纸/卡通月夜.jpg);}
#号一定要写,url(:“这是图片路径,根据实际更改”)


效果图

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/31182.html