Bonjour tout le monde,
me revoilà avec une question de conception d'ordre général concernant la communication signaux/slots entre différents widgets de l'interface.
Dans l'image jointe ci-dessous, vous pouvez voir plusieurs choses :
1) Une MainWindow qui contient différents gros blocs comme :
* Toolbar
* Menu
2) La toolbar est composée de plusieurs sous-widgets comme SubToolbarCmd
3) Le Menu contient un model qui possède l'ensemble des données à afficher dans celui-ci.
Maintenant, je souhaiterais avoir le comportement suivant : Lorsque je clic sur le bouton de SubToolbarCmd, la comboList de SubToolbarCmd se remplit avec la liste issue du modèle du menu.
Quelle est la meilleure façon de réaliser ces connections? Dois-je faire dans ma MainWindow une communication du genre :
Ou vaut-il mieux procéder autrement ? (faire plusieurs signaux et slots intermédiaires entre les gros blocs par exemple en remontant d'abord l'information du click à la toolbar, puis en demandant à la toolbar de communiquer avec le menu, puis le menu appel alors son model ...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 connect(mToolbar->getSubToolbarCmd()->getBtn(), SIGNAL(clicked(), mMenu->getModel(), SLOT(listeRequested())) connect(mMenu->getModel(), SIGNAL(sendList(list)), mToolbar->getSubToolbarCmd->getComboList, SLOT(fillCombo(list)) /* ou connect(mToolbar->getSubToolbarCmd()->getBtn(), SIGNAL(clicked(), mMenu, SLOT(ModelListRequested())) connect(mMenu, SIGNAL(sendList(list)), mToolbar->getSubToolbarCmd->getComboList, SLOT(fillCombo(list)) */
J'attends vos propositions
Merci beaucoup !
Partager