pyqt5 自定义设置窗口背景,且作为背景的图像能够自适应窗口大小
时间: 2023-06-25 18:04:54 浏览: 289
可以使用QPixmap和QPalette来实现自定义设置窗口背景,同时让背景图像自适应窗口大小。具体实现如下:
```python
import sys
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPalette
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('自定义背景')
self.resize(300, 200)
self.setWindowOpacity(0.9) #设置窗口透明度
palette = QPalette()
pixmap = QPixmap("background.jpg") #读取背景图像
palette.setBrush(QPalette.Background, pixmap) #设置背景图像
self.setPalette(palette)
def resizeEvent(self, event):
palette = QPalette()
pixmap = QPixmap("background.jpg").scaled(event.size()) #根据窗口大小缩放背景图像
palette.setBrush(QPalette.Background, pixmap)
self.setPalette(palette)
if __name__ == '__main__':
app = QApplication(sys.argv)
my_window = MyWindow()
my_window.show()
sys.exit(app.exec_())
```
在上面的代码中,我们首先创建了一个QPixmap对象,用于读取背景图像文件。然后通过QPalette来设置窗口背景,并在resizeEvent()函数中根据窗口的大小对背景图像进行缩放,实现自适应窗口大小的效果。最后,我们将MyWindow实例显示出来并进入主循环。
阅读全文