Vue d'ensemble
PySide6 6.0, publié le 11 janvier 2021, est le binding officiel de Qt for Python pour Qt 6. Maintenu par la Qt Company, il offre une alternative à PyQt6 sous licence LGPL.
Fonctionnalités principales
Binding officiel Qt 6
PySide6 donne accès à l'ensemble des modules Qt 6 : QtWidgets, QtQuick, Qt3D, QtCharts et bien d'autres. L'API est très proche de celle de PyQt6 mais utilise des conventions de nommage légèrement différentes pour certains utilitaires (comme les outils de signal/slot).
python
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton
from PySide6.QtCore import Slot
class FenetrePrincipale(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('PySide6 - Démo')
bouton = QPushButton('Cliquez-moi')
bouton.clicked.connect(self.on_clic)
self.setCentralWidget(bouton)
@Slot()
def on_clic(self):
self.statusBar().showMessage('Bouton cliqué !')
app = QApplication(sys.argv)
fenetre = FenetrePrincipale()
fenetre.show()
sys.exit(app.exec())
Outils et compatibilité
PySide6 inclut des outils comme pyside6-uic pour compiler les fichiers .ui et pyside6-rcc pour les ressources. Un outil de portage pyside6-port aide à migrer le code depuis PySide2.
python
# Compilation d'un fichier .ui créé avec Qt Designer
# pyside6-uic formulaire.ui -o ui_formulaire.py
# Utilisation du fichier généré
from PySide6.QtWidgets import QApplication, QWidget
# from ui_formulaire import Ui_Formulaire
class MonFormulaire(QWidget):
def __init__(self):
super().__init__()
# self.ui = Ui_Formulaire()
# self.ui.setupUi(self)
# Migration depuis PySide2 :
# pyside6-port mon_application.py
