11.1 三種典型的PyQt5引用QSS程式碼方法介紹
阿新 • • 發佈:2022-03-24
一、三種典型的PyQt5引用QSS程式碼方法介紹
1.基本知識
- 第一種一般用於臨時定義控制元件樣式的時候
- 第二種主要用於單個檔案中使用到某些樣式,又不至於太過複雜
- 第三種主要用於整個專案的樣式開發
2.類別
- 區域性設定
第一種:
第二種:
- 全域性設定
第一種:
第二種:
3.程式碼
from PyQt5.Qt import * import sys class Window(QWidget) : def __init__(self) : super().__init__() self.setWindowTitle("QSS樣式載入方法 - PyQt5中文網") self.resize(600, 500) self.func_list() def func_list(self) : self.func() def func(self) : # 區域性設定 label1 = QLabel('標籤1', self) # label1.setStyleSheet('background-color:green;') label1.move(100, 200) label1.resize(70, 30) label2 = QLabel('標籤2', self) # label2.setStyleSheet('color:red;') label2.move(200, 200) label2.resize(70, 30) label3 = QLabel('標籤3', self) # label3.setStyleSheet('background-color:yellow;font-size:30px;') label3.move(300, 200) label3.resize(70, 30) btn1 = QPushButton('按鈕1', self) btn1.move(100, 100) btn1.resize(70, 30) btn2 = QPushButton('按鈕2', self) btn2.move(200, 100) btn2.resize(70, 30) #區域性設定 # btn1.setStyleSheet(''' # QPushButton{ # color:red; # } # QPushButton:hover{ # background-color: green; # } # ''') # QSS檔案載入 btn3 = QPushButton('按鈕3', self) btn3.setProperty('name', 'btn') #對應下面的全域性設定 btn3.move(100, 300) btn3.resize(70, 30) btn4 = QPushButton('按鈕4', self)#對應下面的全域性設定 btn4.setObjectName('btn') btn4.move(200, 300) btn4.resize(70, 30) if __name__ == '__main__' : app = QApplication(sys.argv) window = Window() # with open('index.qss', 'r', encoding='UTF-8') as f: # print('開啟檔案') # app.setStyleSheet(f.read()) QssStyle = ''' QPushButton:hover{ background-color: green; } QPushButton[name="btn"]:hover{ background-color: red; } QPushButton#btn:hover{ background-color: green; color:red; } ''' # # 全域性設定 window.setStyleSheet(QssStyle) # 當前視窗全域性有效 window.show() sys.exit(app.exec_())