import sys

from PySide2.QtWidgets import QDialog, QApplication


class Dialog(QDialog):
    """
    Classe définissant notre fenêtre principale.

    """

    def __init__(self, parent=None):
        """
        Initialiser chaque nouvelle instance de notre fenêtre.

        Args:
            parent: Widget qui va contenir notre boîte de dialogue.

        """
        super().__init__(parent=parent)
        self.setWindowTitle("Ma nouvelle fenêtre")


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)
    # Ajouter notre boîte de dialogue
    dialog = Dialog()
    dialog.show()
    # Lancer la boucle Qt, qui ferme le programme quand on ferme toutes les fenêtres
    sys.exit(application.exec_())
