In this article, you'll learn how to change PySide6 theme styles using the static function setStyle()
of QApplication
.
PySide6 Style Showcase


Changing Styles
The QApplication
class provides a static function setStyle()
for modifying PySide6 themes:
from PySide6 import QtWidgets
app = QtWidgets.QApplication([])
app.setStyle(QtWidgets.QStyleFactory.create("Fusion")) # Fusion style
#app.setStyle("Fusion") # Alternative syntax
Checking Available Styles
QtWidgets.QStyleFactory.keys()
returns a list of available style names:
print(QtWidgets.QStyleFactory.keys())
Checking Current Style
Use the following code to check the currently applied style:
# app.style() returns a PySide6.QtWidgets.QStyle object
print(app.style().name()) # Style name
Example Code

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("Change 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())
# Alternative approach:
# app.setStyle(selected_items[0].text())
app = QApplication([])
widget = MyWidget()
widget.resize(420, 200)
widget.show()
sys.exit(app.exec())