Objectif
Créer une nouvelle Palette personnalisée dans l’interface de Mari.
En théorie
Nous allons créer une Class « myFirstUI« composée de 2 fonctions:
- __init__ : Initialisation et lancement de la création de l’UI
- createUI : Création de l’UI
En pratique
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | import mari import PythonQt.QtGui as gui # Import PYQt UI import PythonQt.QtCore as core # Import PyQt Core class myFirstUI(gui.QWidget): def __init__(self): # Si mon UI existe deja, je la supprime try: mari.palettes.remove("My First UI") except ValueError: pass # Creation de la nouvelle Palette pan = mari.palettes.create("My First UI", "") # Creation du contenu via la fonction de creation ci-dessous fenetre = self.createUI() # Assignation pan.setBodyWidget(fenetre) # Affichage pan.show() def createUI(self): # Init du tableau de boutons buttonList = ["Button 1", "Button 2", "Button 3"] # Creation du layout gui.QWidget.__init__(self) layout = gui.QVBoxLayout(self) # Pour chaque element du tableau, on cree un bouton for buttonName in buttonList: button = gui.QPushButton(buttonName, self) layout.addWidget(button) # Assignation self.setLayout(layout) # On retourne le contenu return self # Executer la Class myFirstUI() |
Et voici le fabuleux résultat !
Fou ! N’est-ce pas ?
Maintenant ce qui serait vraiment intéressant c’est d’ajouter des fonctions à ces boutons.
Qu'avez-vous pensé de cet article ?
J'aime
0%
Merci
0%
Pratique
0%
Incomplet
100%
Rien de neuf
0%
Sur le même sujet