PyQt:改变PyQt界面主题风格

Qt不仅功能强大、跨平台,还一个重要的因素是它生成的界面非常漂亮,且可以随意切换主题风格;本文将介绍如何使用Python获取当前系统支持的PyQt界面主题风格,以及如何切换使用它们;

获取本机支持的 PyQt 的风格

你可以使用QStyleFactory.keys()方法获取本机所支持的主题风格;它将返回一个 List :

PyQt Style

QStyleFactory 位于 PyQt5.QtWidgets 库中,使用它你需要先导入;

改变 PyQt 风格

你可以使用QApplication.setStyle()方法来改变主题风格,其传入参数使用QStyleFactory.create()方法创建:

QApplication.setStyle(QStyleFactory.create(styleName))

styleName为前文中通过QStyleFactory.keys()方法得到的风格名称;

完整示例代码:

from PyQt5.QtWidgets import (QDialog,QApplication,
                             QStyleFactory,QComboBox,
                             QLabel,QVBoxLayout)

class MainWindow(QDialog):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)

        styleComboBox = QComboBox()
        #获取本机支持的主题,并添加到QComboBox中
        styleComboBox.addItems(QStyleFactory.keys())
        
        styleLabel = QLabel("Style:")

        #绑定槽函数,
        styleComboBox.activated[str].connect(self.changeStyle)
        
        self.vbox=QVBoxLayout()
        self.setLayout(self.vbox)
        self.vbox.addWidget(styleLabel)
        self.vbox.addWidget(styleComboBox)
        self.vbox.addStretch()

        self.setWindowTitle("Styles") #设置标题
        self.changeStyle('Fusion') #启动时使用Fusion风格

    #槽函数
    def changeStyle(self, styleName):
        #改变Style
        QApplication.setStyle(QStyleFactory.create(styleName))

if __name__ == '__main__':

    import sys
    app = QApplication(sys.argv)
    win = MainWindow()
    win.show()
    sys.exit(app.exec_())

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/pyqt-style.html

分类: 计算机技术
推荐阅读:
Python中__getitem__()方法和索引器[]的详细用法 在本文中将详细描述如何使用Python为自定义对象使用索引器和类的__getitem__()方法;
PySide6 按钮(QPushButton) QPushButton 是 Qt 框架中表示可点击按钮部件的类。在 PySide6 中,你可以使用 QPushButton 类来创建和与图形用户界面(GUI)应用程序中的按钮交互。
MIPS处理器的基本特性和体系结构 MIPS处理器的基本特性和体系结构包括以下方面:
check_hostname requires server_hostname 错误解决方法 通常造成check_hostname requires server_hostname错误都与Python有关;本文将详细的描述造成这类错误的原因和多种解决方法;
Rust解析JSON,结构体序列化和反序列化 JSON一种常用的由键值对组成的数据对象;本文将通过多个例子讲解在Rust中如何解析JSON内容,以及如何将结构体转换成JSON字符串。
Rust最新版安装教程 首先,通过 Rust 官方网站获取最新版的安装包;根据你的系统类型,选择下载32位或64位的rustup;这里需要提醒的是,rustup只是rust的一个配置安装工具,它需要联网运行;