91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • python GUI庫圖形界面開發之PyQt5動態加載QSS樣式文件的示例分析

python GUI庫圖形界面開發之PyQt5動態加載QSS樣式文件的示例分析

發布時間:2021-06-18 09:20:31 來源:億速云 閱讀:190 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關python GUI庫圖形界面開發之PyQt5動態加載QSS樣式文件的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

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

編寫QSS

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

QMainWindow{
    border-image:url(./images/screen1.jpg);

}

QToolTip{
    border: 1px solid rgb(45, 45, 45);
    background: white;
    color: red;
}

加載QSS

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

class CommonHelper:
  def __init__(self):
    pass

  @staticmethod
  def readQss(style):
    with open(style, 'r') as f:
      return f.read()

然后在主函數進行加載,其核心代碼如下

app = QApplication(sys.argv)
  win = MainWindow()

  styleFile = './style.qss'
  qssStyle = CommonHelper.readQss(styleFile)
  win.setStyleSheet(qssStyle)

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

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

完整代碼如下

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

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QVBoxLayout, QPushButton


class 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('測試提示')
    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_())

沒有加載樣式時,窗口樣式

python GUI庫圖形界面開發之PyQt5動態加載QSS樣式文件的示例分析

加載樣式后,窗口樣式

python GUI庫圖形界面開發之PyQt5動態加載QSS樣式文件的示例分析

感謝各位的閱讀!關于“python GUI庫圖形界面開發之PyQt5動態加載QSS樣式文件的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南安市| 茶陵县| 孟村| 长沙县| 义乌市| 金寨县| 新泰市| 盐亭县| 龙门县| 宝应县| 沾益县| 东阳市| 永年县| 清新县| 瑞丽市| 桐庐县| 遂平县| 安国市| 万荣县| 木兰县| 尤溪县| 安远县| 毕节市| 长顺县| 和平县| 巨野县| 牡丹江市| 交口县| 石景山区| 读书| 当雄县| 沙洋县| 大宁县| 岚皋县| 通许县| 屏边| 赣州市| 荔浦县| 昌平区| 宜丰县| 华阴市|