Bonjour,
Je suis en train de faire une interface avec Matlab mais j'aurais voulu avoir une liste d'objets qui seraient mise à jour à chaque opération avec une fonction de rafraichissement de l'interface mais mon problème est de gérer les fonctions callback dans ce cas. Je m'explique:
Dans un fichier GUI_uicontrols je crée ma liste d'objets de l'interface comme suit:
et tous mes autres objets seront aussi stockés dans cette liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function GUI_uicontrols global UICONTROLS UICONTROLS(5).style = 'pushbutton';; UICONTROLS(5).visible = 'on'; UICONTROLS(5).handleVisibility = 'on'; UICONTROLS(5).string = 'CLICK HERE'; UICONTROLS(5).enable = 'on'; UICONTROLS(5).position = [0.4 0.91 0.1 0.05]; UICONTROLS(5).callback = 'go';
Ensuite j'ai une fonction pour mettre l'interface à jour:
Mais voilà ca coince quand je veux appeler ma fonction callback 'go'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function GUI_UpdateFigure global UICONTROLS for i = 1:size(UICONTROLS,2) uc = uicontrol('style',UICONTROLS(i).style,... 'units','normalized',... 'position',UICONTROLS(i).position,... 'string',UICONTROLS(i).string,... 'callback',UICONTROLS(i).callback); set(uc,'enable',UICONTROLS(i).enable); set(uc,'handleVisibility',UICONTROLS(i).handleVisibility); set(uc,'visible',UICONTROLS(i).visible); end
Ou devrais-je définir cette fonction? Dans la fonction qui appelle updateFigure? ou directement dans updateFigure? Mais je ne peux pas définir toutes mes fonctions callback dans un même fichier à part?
Merci pour votre aide!
Partager