import sys

from PySide6.QtCore import QFile, QObject

QObject

# Exemple avec QT Designer
if __name__ == "__main__":
    # Créer une instance qui définit une application Qt
    # Via la variable "sys.argv", qui correspond aux arguments en ligne de commande
    # on peut configurer le comportement de notre application...
    # Également : notre application est un Singleton
    application = QApplication(sys.argv)
    # Utiliser Qt pour ouvrir le fichier Qt Designer qu'on a créé
    file = QFile("files/base-ui.ui")
    file.open(QFile.ReadOnly)
    # Utiliser une classe de Qt qui est capable de créer des interfaces depuis des fichiers
    loader = QUiLoader()
    window = loader.load(file)
    file.close()
    # Ici on teste que l'on a bien accès aux variables membres du fichier qu'on a chargé
    window.lineEdit: QLineEdit = window.lineEdit
    window.lineEdit.setText("Bonjour les amis")
    # Afficher notre fenêtre chargée
    window.show()
    # Lancer la boucle Qt, qui ferme le programme quand on ferme toutes les fenêtres
    sys.exit(application.exec_())
