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(:“这是图片路径,根据实际更改”)
效果图
今天的文章python设置窗口的背景图片_打开软件说缺少Qt插件怎么解决分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/84129.html