• PyQt5 设置窗口背景



    窗口背景主要包括:背景色和背景图片。设置窗口背景主要有三种方法:

    • 使用QSS设置窗口背景。
    • 使用QPalette设置窗口背景。
    • 实现paintEvent,使用QPainter绘制背景。

    使用setStyleSheet设置窗口背景图片

    import sys
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = QMainWindow()
        win.setWindowTitle("界面背景图片设置")
        win.resize(350, 250)
        win.setObjectName("MainWindow")
        win.setStyleSheet("#MainWindow{border-image:url(./pyqt5/python.jpg)}")
        win.show()
        sys.exit(app.exec_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    使用setStyleSheet设置窗口背景颜色

    
    
    import sys
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = QMainWindow()
        win.setWindowTitle("界面背景图片设置")
        win.resize(350, 250)
        win.setObjectName("MainWindow")
        win.setStyleSheet("#MainWindow{background-color:yellow}")
        win.show()
        sys.exit(app.exec_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    在这里插入图片描述

    使用QPalette设置窗口背景颜色

    import sys
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = QMainWindow()
        win.setWindowTitle("QPalette调色板设置背景颜色")
        win.resize(350, 150)
        palette = QPalette()
        palette.setColor(QPalette.Background, Qt.red)
        win.setPalette(palette)
        win.show()
        sys.exit(app.exec_())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    使用QPalette设置窗口背景图片

    import sys
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = QMainWindow()
        win.setWindowTitle("QPalette设置背景图片")
        palette = QPalette()
        palette.setBrush(QPalette.Background, QBrush(QPixmap("./pyqt5/python.jpg")))
        win.setPalette(palette)
        win.resize(800, 600)
        win.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

    在这里插入图片描述

    使用paintEvent设置窗口背景颜色

    import sys
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    class WinForm(QWidget):
        def __init__(self, parent=None):
            super(WinForm, self).__init__(parent)
            self.setWindowTitle("paintEvent设置背景色")
    
        def paintEvent(self, event):
            painter = QPainter(self)
            painter.setBrush(Qt.blue)
            painter.drawRect(self.rect())
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = WinForm()
        win.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

    在这里插入图片描述

    使用paintEvent设置窗口背景图片

    import sys
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
    
    class WinForm(QWidget):
        def __init__(self, parent=None):
            super(WinForm, self).__init__(parent)
            self.setWindowTitle("paintEvent设置背景图片")
    
        def paintEvent(self, event):
            painter = QPainter(self)
            pixmap = QPixmap("./pyqt5/images/screen1.jpg")
            painter.drawPixmap(self.rect(), pixmap)
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        win = WinForm()
        win.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

    在这里插入图片描述

  • 相关阅读:
    算法篇------动态规划1
    文本变成文本路径图 保存txt
    【数据结构-哈希表 一】【原地哈希】:缺失的第一个正整数
    MyBatis-Plus演绎:数据权限控制,优雅至极!
    2022年智慧城市行业概括及现状
    数据结构知识(一)
    【笔记】python函数中指定输入和输出格式
    基于BP神经网络和小波变换特征提取的烟草香型分类算法matlab仿真,分为浓香型,清香型和中间香型
    从0到1做一个产品需要注意的基本点
    【每日一题Day328】LC198打家劫舍 | 动态规划
  • 原文地址:https://blog.csdn.net/u013420428/article/details/128121664