📜  如何在 pyqt5 中添加窗口背景 - Python (1)

📅  最后修改于: 2023-12-03 15:08:45.023000             🧑  作者: Mango

如何在 PyQt5 中添加窗口背景

在 PyQt5 中,可以通过使用 QPixmapQPalette 类添加窗口背景。具体步骤如下:

1. 导入必要的模块
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPixmap, QPalette
from PyQt5.QtCore import Qt
2. 创建QWidget类及其子窗口
class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        # 设置窗口大小及标题
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('添加窗口背景')
        
        # 创建子窗口
        sub_widget = QWidget(self)
        sub_widget.setGeometry(50, 50, 200, 100)
3. 设置窗口背景
# 创建 QPixmap 对象并设置图片路径
background = QPixmap('path/to/image.png')

# 创建 QPalette 对象
palette = QPalette()

# 设置背景图片
palette.setBrush(QPalette.Window, QtGui.QBrush(background)) 

# 设置窗口背景
self.setPalette(palette)

完整的窗口背景设置代码:

from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPixmap, QPalette
from PyQt5.QtCore import Qt

class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        # 设置窗口大小及标题
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('添加窗口背景')
        
        # 创建子窗口
        sub_widget = QWidget(self)
        sub_widget.setGeometry(50, 50, 200, 100)
        
        # 设置窗口背景
        background = QPixmap('path/to/image.png')
        palette = QPalette()
        palette.setBrush(QPalette.Window, QtGui.QBrush(background)) 
        self.setPalette(palette)

# 创建应用程序对象
app = QApplication(sys.argv)

# 创建窗口对象
widget = MyWidget()

# 显示窗口
widget.show()

# 运行程序
sys.exit(app.exec_())

以上就是在 PyQt5 中添加窗口背景的方法。