• Pyside2&PyQt5设置背景图片不影响其它控件


    Pyside2&PyQt5设置背景图片

    平时我们在Designer中的styleSheet设置背景图片会导致其它控件也会被设置上背景图片。(如果一定要用Designer解决方法在下面)
    在这里插入图片描述
    为解决这个问题,在代码中按如下设置即可单独设置背景图不影响其它。图片会随着窗口的尺寸变化自适应改变大小。

    核心代码:

    self.centralwidget.setObjectName("wkWgt")  # 替换背景图片只对当前窗口生效 核心代码
    self.centralwidget.setStyleSheet("#wkWgt{border-image:url(C:/User/变色龙.jpg);}")  # 替换图片路径  核心代码
    
    • 1
    • 2

    完整案例

    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_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    Designer中设置背景办法

    1、点击QWidget
    在这里插入图片描述
    2、选中QWidget,搜索stylesheet
    在这里插入图片描述
    3、点击stylesheet旁边的三个点,在弹出的编辑框中输入:

    #centralwidget{border-image: url(:/background-image/Desktop/壁纸/卡通月夜.jpg);}
    
    • 1

    #号一定要写,url(:“这是图片路径,根据实际更改”)
    在这里插入图片描述

    在这里插入图片描述

    效果图

    在这里插入图片描述

  • 相关阅读:
    【机器学习】迁移学习(Transfer)详解!
    this.$nextTick()的使用场景
    vue 引入zTree
    【Command模式】C++设计模式——命令模式
    普冉PY32系列(十二) 基于PY32F002A的6+1通道遥控小车III - 驱动篇
    Jenkins 系列:Jenkins 安装(Windows、Mac、Centos)和简介
    如何现实笔记本已连接的密码
    AtCoder 327G 组合数学
    FCP第二题:数据库中有一张地区数据统计表,但是并不规则
    自由职业者是一个趋势吗?
  • 原文地址:https://blog.csdn.net/hyd_csdn/article/details/126758518