pyqt widget 背景图片居中
时间: 2024-02-28 17:50:59 浏览: 298
在PyQt中,要将widget的背景图片居中,可以使用QPalette类来设置widget的背景。以下是一个示例代码[^2]:
```python
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPalette, QPixmap
from PyQt5.QtCore import Qt
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置窗口大小和标题
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('背景图片居中')
# 创建QPalette对象
palette = QPalette()
# 加载背景图片
pixmap = QPixmap('background.jpg')
# 设置背景图片居中
palette.setBrush(QPalette.Background, pixmap.scaled(self.size(), Qt.IgnoreAspectRatio, Qt.SmoothTransformation))
# 设置palette为窗口的palette
self.setPalette(palette)
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec()
```
在上述代码中,我们首先创建了一个QPalette对象,然后加载了背景图片,并使用`scaled()`方法将图片缩放到与窗口大小相同。最后,我们将设置好的palette应用到窗口上,从而实现了背景图片的居中显示。
阅读全文