Bonjour,
Je me permets de solliciter votre aide car je rencontre un problème avec la gestion de plusieurs popupmenu sur MATLAB.
Je crée plusieurs popupmenus dans une boucle avec le code suivant :
Ces popupmenus renvoient vers la fonction callback suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 for i=1:nombre_noeuds position=650-i*25; text=uicontrol(fenetre,'style','text','position',[9,position,100,19],'string',i,'fontsize',12,'fontweight','bold'); uicontrol('Style', 'popupmenu','String', {'bloqué','variable'},'Position', [115,position,147.5,19],'Value',2,'Callback',@popupmenu_Callback); uicontrol('Style', 'popupmenu','String', {'bloqué','variable'},'Position', [419,position,147.5,19],'Value',2,'Callback',@popupmenu_Callback); uicontrol('Style', 'popupmenu','String', {'bloqué','variable'},'Position', [723,position,147.5,19],'Value',2,'Callback',@popupmenu_Callback); uicontrol(fenetre,'style','edit','position',[275,position,140,19],'string','xxx'); uicontrol(fenetre,'style','edit','position',[579,position,140,19],'string','xxx'); uicontrol(fenetre,'style','edit','position',[883,position,140,19],'string','xxx'); end
Je rencontre en fait deux problèmes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function popupmenu_Callback(hObject, ~) elements = get(hObject, 'String'); indice = get(hObject, 'Value'); element_selectionne = elements{indice}; fprintf('L''élément sélectionné est %s\n', element_selectionne) end
- Je ne récupère pas la valeur choisie dans un popupmenu s'il n'a pas été modifié par l'utilisateur.
- Lorsque je récupère une valeur d'un popupmenu, je ne sais pas de laquelle il s'agit. C'est à dire que je ne sais pas à quelle liste déroulante j'ai à faire.
Est-il possible de connaître le "nom" du popupmenu modifié ?
Ou peut être que je peux savoir à quel popup j'ai à faire grâce à ses coordonnées dans la figure. Si tel est le cas, comment puis-je retrouver ses coordonnées dans la figure ?
Est-il possible de récupérer les valeurs de tous les popupmenus de la fenêtre dans une matrice d'un coup, même s'ils n'ont pas été modifié par l'utilisateur ?
Merci beaucoup par avance pour votre aide :-D
Super Nonuche
Partager