Bonjour,
J’apprends à utiliser PyQt et QtDesigner,
dans l’optique de créer un petit logiciel un peu plus complexe que ce qui suit, et surtout maintenable à long terme.
Pour l’instant, j’arrive à un résultat plutôt satisfaisant,
j’ai pu créer un petit script de ToDo List à catégories,
très simple en utilisant quelques widgets de type (QTabWidget, QTableWidgetItem, QStackedWidget, QDialog, quelques widgets sympa et quelques layouts)
Avec une structure type Model-View très simple comme celle qui suit:
(Pas celle expliquée dans la doc de QT, car je n’utilise pas encore les "widgets models based")
1 2 3 4 5 | - Models # Models/Manager, Task/Category, avec Django "Standalone" - Views - View Principale # qui se charge de tout ou presque, signaux, set/get datas dans la GUI - View Formulaire # (QDialog) Ajouter/Modifier/Supprimer:[Tâche/Catégorie] - GUI # les fichiers GUI de QT compilé avec pyuic |
Une fenêtre == Une classe, ça fonctionne bien c’est sympa,
Mais j’en doutes fort pour un projet d’envergure (Fichier très long).
Donc voici ma question comment organiser un code en MVC ?
Jusqu’où dissocier les controllers/views ?
Faire un controller/view pour chaques widgets ?
Et à partir de quel type de widget baser le MVC ?
- type layout (ex: QverticalLayout) ?
- ou type container (ex:QStackedWidgetItems)?
- ou type data(ex: QLineEdit) ?
- ou au choix (selon le contexte)?
J’ai commencé à faire un petit essai en MVC et étant un adepte de la philosophie DRY
j’ai été un peu décontenancé par la lourde répétition qu’imposer ce pattern.
Après avoir lu plusieurs topic, j’ai un peu l’impression que les patterns proposés, sont soit MV soit à la bonne franquette ?!
Si quelqu’un connaît un dépot en Python/PyQt un peu complexe, car je ne trouve que de petits scripts d’exmple très peu fourni.
Merci d’avance m’avoir lu