Bonjour,
Je code une interface à la main, 'interface.m'.
L'interface comprend un 'pushbutton'.
Lorsque je clique sur le 'pushbutton', un callback est lancé. Ce callback lance une autre interface, 'interface2' pour récupérer une valeur(comme une invite de commande).
Cette valeur est ensuite traitée dans le déroulement des instructions du callback.
Le problème est le suivant :
le callback continue le déroulement de ces instructions. Et donc ne récupère aucune donnée de 'interface2'
Voici le code de 'interface.m' :
Est ce que quelqu'un pourrait me dire comment faire pour que ce soit bloquant ? pour que la suite des instructions ne se fasse qu'une fois l'invite de commande traitée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
39 function interface figure('position', [700 100 500 500], ... 'menubar', 'none', ... 'tag', 'interface'); menuFic = uimenu('label', 'Fichier', ... 'tag', 'menuFic'); uimenu(menuFic, 'label', 'Quitter', ... 'callback', 'close', ... 'accelerator', 'Q'); uicontrol('style', 'pushbutton', ... 'position', [150 20 120 30], ... 'string', 'Valeurs', ... 'callback', @maInvitVal, ... 'tag', 'pb'); data = guihandles (gcf); data.x = 0; guidata (gcf, data); %%% Callback Invit Selection Valeurs function maInvitVal (~,~) data = guidata (gcf); [data.x] = interface2; data.x disp('suite instructions'); %% suite instructions guidata (gcbf, data);
Je vous remercie pour votre aide.
Partager