久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5動(dòng)態(tài)加載QSS樣式文件

瀏覽:84日期:2022-08-06 13:53:58

在Qt中經(jīng)常需要使用樣式,為了降低耦合性(與邏輯代碼分離),我們通常會(huì)定義一個(gè)QSS文件,然后編寫(xiě)各種控件(QLabel,QLIneEdit,QPushButton等)的樣式,最后使用QApplication或QMainWindow來(lái)加載樣式,這樣就可以讓整個(gè)應(yīng)用程序共享一種樣式了

編寫(xiě)QSS

首先新建一個(gè)擴(kuò)展名為.qss的文件,如style.qss,然后將其加入資源文件(.qrc)中,在style.qss文件中編寫(xiě)樣式代碼,例如

QMainWindow{ border-image:url(./images/screen1.jpg);}QToolTip{ border: 1px solid rgb(45, 45, 45); background: white; color: red;}加載QSS

為了方便以后使用,可以編寫(xiě)一個(gè)公共類COmmomHelper,其核心代碼如下

class CommonHelper: def __init__(self): pass @staticmethod def readQss(style): with open(style, ’r’) as f: return f.read()

然后在主函數(shù)進(jìn)行加載,其核心代碼如下

app = QApplication(sys.argv) win = MainWindow() styleFile = ’./style.qss’ qssStyle = CommonHelper.readQss(styleFile) win.setStyleSheet(qssStyle) win.show() sys.exit(app.exec_())

在換樣式時(shí),不需要全局修改,只需要CommomHelper.readQSS()讀取不同的QSS文件即可

完整代碼如下

注意第一步的qss文件的建立,下面會(huì)用到

import sysfrom PyQt5.QtWidgets import QMainWindow, QApplication, QVBoxLayout, QPushButtonclass CommonHelper: def __init__(self): pass @staticmethod def readQss(style): with open(style, ’r’) as f: return f.read()class MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.resize(477, 258) self.setWindowTitle('加載QSS文件') btn1 = QPushButton(self) btn1.setText(’添加’) btn1.setToolTip(’測(cè)試提示’) vbox = QVBoxLayout() vbox.addWidget(btn1) self.setLayout(vbox)if __name__ == '__main__': app = QApplication(sys.argv) win = MainWindow() styleFile = ’./style.qss’ qssStyle = CommonHelper.readQss(styleFile) win.setStyleSheet(qssStyle) win.show() sys.exit(app.exec_())

沒(méi)有加載樣式時(shí),窗口樣式

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5動(dòng)態(tài)加載QSS樣式文件

加載樣式后,窗口樣式

python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5動(dòng)態(tài)加載QSS樣式文件

本文介紹了如何在窗口運(yùn)行狀態(tài)下動(dòng)態(tài)加載QSS樣式文件改變窗口樣式,更多關(guān)于QSS樣式的文章請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 吉木乃县| 高雄市| 得荣县| 珠海市| 汾西县| 阳曲县| 分宜县| 邵武市| 图片| 尉氏县| 乌海市| 乡城县| 平湖市| 惠水县| 富锦市| 岳池县| 英吉沙县| 延津县| 太保市| 青浦区| 双桥区| 太白县| 新营市| 吴堡县| 清镇市| 左贡县| 扶风县| 江孜县| 秭归县| 资阳市| 潢川县| 阿城市| 天水市| 剑川县| 益阳市| 哈尔滨市| 特克斯县| 海宁市| 新龙县| 繁峙县| 华容县|