pyqt5界面设计背景图
时间: 2023-11-02 09:07:14 浏览: 112
在PyQt5界面设计中,可以使用QPalette或QSS来设置背景图。使用QPalette时,可以通过设置QBrush的QPixmap来指定背景图片,当图片大小大于窗口大小时,背景图片会平铺整个窗口;当图片大小小于窗口大小时,会加载多个背景图片。另外,也可以使用QSS来设置背景色或背景图片,通过设置QWidget的ObjectName和调用setStyleSheet方法来实现。
示例代码1: 使用QPalette设置背景图片
```python
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
palette = QPalette()
palette.setBrush(QPalette.Background, QBrush(QPixmap("background.png")))
self.setPalette(palette)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
示例代码2: 使用QSS设置背景色或背景图片
```python
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setObjectName("mainWindow")
qss = "QWidget#mainWindow{background-color:black;}" # 设置背景色
# qss = "QWidget#mainWindow{border-image:url(background.png);}" # 设置背景图片
self.setStyleSheet(qss)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
示例代码3: 使用QPalette设置背景颜色
```python
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class MainWindow(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
palette = QPalette()
palette.setColor(QPalette.Background, Qt.black) # 设置背景颜色为黑色
self.setPalette(palette)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
阅读全文