当前位置:   article > 正文

PyQt5学习笔记9_使用setStyle和setStyleSheet进行换肤_pyqt5 setstylesheet

pyqt5 setstylesheet

通过QStyleFactory.keys()可获取用于setStyle的有效值,本例程中包含“Windows”,“WindowsXP”,“WindowsVista”,“Fusion”四种风格,此外,还使用了setStyleSheet对一款黑色主题“QDarkStyleSheet”进行加载,即可以在以上5种界面风格之间切换。
效果如下:
在这里插入图片描述
代码如下:

import sys
from os.path import join, dirname, abspath
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QMainWindow, QStyleFactory
import qdarkstyle

_UI = join(dirname(abspath(__file__)), 'mainwindow.ui')


class MainWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        uic.loadUi(_UI, self)


class Application(QApplication):
    def __init__(self, argv):
        QApplication.__init__(self, argv)

    def _slot_setStyle(self):
        app.setStyleSheet('')
        tmp = self.sender().objectName()[6:]
        if tmp in QStyleFactory.keys():
            app.setStyle(tmp)
        elif tmp == 'Qdarkstyle':
            app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5())


if __name__ == '__main__':
    app = Application(sys.argv)
    w = MainWindow()
    w.actionWindows.triggered.connect(app._slot_setStyle)
    w.actionWindowsXP.triggered.connect(app._slot_setStyle)
    w.actionWindowsVista.triggered.connect(app._slot_setStyle)
    w.actionFusion.triggered.connect(app._slot_setStyle)
    w.actionQdarkstyle.triggered.connect(app._slot_setStyle)
    w.show()
    sys.exit(app.exec_())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

相关链接:
PyQt5学习笔记7_QDarkStyleSheet

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号