PyQt5入门(二十五)QSS(下)三种设置背景色和背景图片的方式

目录

一.方式一 QSS

二.方式二 QPalette

三.方式三 直接绘制


1.  QSS
2.  QPalette
3.  直接绘制

一.方式一 QSS

代码:

'''

使用多种方式设置窗口背景色和背景图片

1.  QSS
2.  QPalette
3.  直接绘制

'''

import sys
from PyQt5.QtWidgets import *


app = QApplication(sys.argv)
win = QMainWindow()
win.setWindowTitle("背景图片")
win.resize(350,250)
win.setObjectName("MainWindow")

# 通过QSS动态修改窗口的背景颜色和背景图片
# ../../  上级路径的上级路径
win.setStyleSheet("#MainWindow{border-image:url(../../picture/images/python.jpg);}")
win.setStyleSheet("#MainWindow{background-color:yellow}")

win.show()
sys.exit(app.exec())



运行结果:

  或   

二.方式二 QPalette

代码:

import sys

from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *


app = QApplication(sys.argv)
win = QMainWindow()
win.setWindowTitle("背景图片")
win.resize(350,250)
win.setObjectName("MainWindow")

# 通过QPalette设置背景图片和背景颜色
#palette调色板
palette = QPalette()
#设置画刷
palette.setBrush(QPalette.Background,QBrush(QPixmap("../../picture/images/python.jpg")))
#palette.setColor(QPalette.Background,Qt.red)
win.setPalette(palette)

win.show()
sys.exit(app.exec())

运行结果:

    或 

三.方式三 直接绘制

代码1:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *


class Background1(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("绘制背景颜色")
    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setBrush(Qt.yellow)
        painter.drawRect(self.rect())


if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Background1()
    form.show()
    sys.exit(app.exec_())

运行结果1:

代码2:

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *


class Background2(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("绘制背景图片")
    def paintEvent(self, event):
        painter = QPainter(self)
        pixmap = QPixmap('../../picture/images/screen1.jpg')
        painter.drawPixmap(self.rect(),pixmap)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = Background2()
    form.show()
    sys.exit(app.exec_())

运行结果2:

猜你喜欢

转载自blog.csdn.net/weixin_44593822/article/details/113934988