在本文中,您将学会如何使用QApplication
的静态函数setStyle()
更改 PySide6 的主题风格;
PySide6 不同风格展示


更改 Style
QApplication
类拥有一个静态函数setStyle()
,可使用它修改 PySide6 主题;
from PySide6 import QtWidgets
app = QtWidgets.QApplication([])
app.setStyle(QtWidgets.QStyleFactory.create("Fusion")) #fusion风格
#app.setStyle("Fusion") #也能这样使用
查看支持的 Style
QtWidgets.QStyleFactory.keys()
返回一个包含当前能使用的风格名称列表;
print(QtWidgets.QStyleFactory.keys())
查看当前使用的Style
你可使用以下代码查看当前使用的风格:
#app.style()返回一个PySide6.QtWidgets.QStyle对象
print(app.style().name())#名称
示例代码

import sys
from PySide6.QtWidgets import QApplication,QWidget,QPushButton,QListWidget,QVBoxLayout,QStyleFactory
from PySide6.QtCore import Slot
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.button = QPushButton("改变Style")
self.style_list = QListWidget()
self.style_list.addItems(QStyleFactory.keys())
self.layout = QVBoxLayout(self)
self.layout.addWidget(self.style_list)
self.layout.addWidget(self.button)
self.button.clicked.connect(self.changeStyle)
@Slot()
def changeStyle(self):
selected_items = self.style_list.selectedItems()
if not selected_items:
return
QApplication.setStyle(selected_items[0].text())
# 也可使用
# app.setStyle(selected_items[0].text())
app = QApplication([])
widget = MyWidget()
widget.resize(420, 200)
widget.show()
sys.exit(app.exec())