Bonjour,
Je voudrais recuperer le choix que j ai fait d un push button hors de la fonction.
Est-ce possible?
Cordialement
Bonjour,
Je voudrais recuperer le choix que j ai fait d un push button hors de la fonction.
Est-ce possible?
Cordialement
Bonjour,
Le "choix d'un pushbutton"... cela ne veux rien dire.
Ne serai-ce pas plutôt une checkbox que tu voudrais utiliser? Ou une listbox?
et dans ce cas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part get(handles.monTag,'Value')
En fait j ai fait un guide avec deux pushbutton
Et je voudrais garder le choix que j ai fait.
Exemple.
J ai le choix entre choix1 et choix2,
je voudrais que dans une variable (ex:test) qui sort de la fonction j ai une variable test qui prenne :
la valeur 1 si choix1 est choisi
la valeur 2 si choix2 est choisi.
Dans ce cas tu as juste à mettre ta variable test à 1 ou 2 suivant le callback appelé... où est le problème?
J ai ecrit
Mais j ai rien qui sort de la fonction.
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 % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) varargout{1} = 1; delete(gcbf); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) varargout{1} = 2; delete(gcbf);
Pourtant au debut de la fonction j ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part function varargout = test(varargin)
Attention varargout s'utilise dans la fonction dont tu veux retourner les arguments (test dans ton cas). Je te conseille de regarder sa documentation
À noter tout de même que sous GUIDE, varargout s'utilise dans la fonction *_OutputFcn.
Code : Sélectionner tout - Visualiser dans une fenêtre à part doc varargout
Tu as déjà l'exemple de GUIDE avec la ligne varargout{1} = handles.output; dedans.
[EDIT] Tu as bien plus simple pour cela que d'utiliser GUIDE: questdlg ou menu
Dernière modification par Invité ; 25/07/2011 à 09h27.
Merci pour ce complement.
Je ne connaissait pas la fonction questdlg .
En fait mon idee etait de faire une sorte de menu mais avec plusieurs colonnes et plusieurs lignes. Mais ce n est pas possible avec menu. Donc c est pour ca que j ai eu l idee de faire avec guide.
Mais il faudrais que j arrive a sortir un argument.
Il est donc impossible de sortir un argument d un guide?
Cordialement
Au contraire comme déjà dit:
Avec handles.output fixé dans l' *_OpeningFcn à l'aide des lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function varargout = test_OutputFcn(hObject,eventData,handles) varargout{1} = handles.output; % exemple donné par GUIDE (qui retourne le handle de la fenêtre)
Et donc un simple appel à ta fonction test: handle_fenetre_test = test(tes arguments d'entrée) te retournera le handle de ta fenêtre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 handles.output = hObject; % Update handles structure guidata(hObject, handles);
Tu pourras par la suite rajouter/changer autant d'arguments que tu veux.
Dernière modification par Invité ; 25/07/2011 à 09h28.
Je suis vraiement desolé mais c est mes debut avec guide, et je m arrache un peu les cheveux avec!!!
En fait j ai deja un handles.output fixé dans l' *_OpeningFcn
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136 function varargout = test(varargin) % TEST M-file for test.fig % TEST, by itself, creates a new TEST or raises the existing % singleton*. % % H = TEST returns the handle to a new TEST or the handle to % the existing singleton*. % % TEST('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in TEST.M with the given input arguments. % % TEST('Property','Value',...) creates a new TEST or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before test_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to test_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help test % Last Modified by GUIDE v2.5 25-Jul-2011 09:30:39 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @test_OpeningFcn, ... 'gui_OutputFcn', @test_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before test is made visible. function test_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to test (see VARARGIN) % Choose default command line output for test handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes test wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = test_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) varargout{1} = 'WPS1'; delete(gcbf); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) varargout{1} = 'WPS2'; delete(gcbf); % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) varargout{1} = 'HLS1'; delete(gcbf); % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) varargout{1} = 'HLS2'; delete(gcbf); % --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) varargout{1} = 'HLS3'; delete(gcbf);
Comme déjà dit, ceci est un exemple, il te suffit de l'adapter à ta sauce, d'y mettre ce ce que tu veux TOI, utiliser les variables que tu veux TOI.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function monCallback(hObject,eventData,handles) handles.toto = contenu_toto; handles.titi = contenu_titi; guidata(gcbf,handles);Puis l'utilisation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function varargout = test_OutputFcn(hObject,eventData,handles) varargout{1} = handles.toto; varargout{2} = handles.titi;
Code : Sélectionner tout - Visualiser dans une fenêtre à part [toto titi] = test(tes entrées)
Partager