窗口背景主要包括:背景色和背景图片。设置窗口背景主要有三种方法:
- 使用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_())
使用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_())
使用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