PyQt5の概要(25)QSS(下記)背景色と背景画像を設定する3つの方法

目次

1.ウェイワンQSS

2.ウェイ2Qパレット

3.方法3は直接描画します


1. QSS 
2. QPalette3 
。直接描画

1.ウェイワン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())



演算結果:

  または   

 

2.ウェイ2Qパレット

コード:

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())

演算結果:

    または 

 

3.方法3は直接描画します

コード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