Bonjour à tous,
Je souhaite réaliser une interface qui viendrait charger un fichier .mat et afficher dans plusieurs textbox le contenu de certaines variables contenu dans ce fichier.
Pour cela, j'ai créé une interface à l'aide de GUIDE et j'y ai positionné un bouton donc j'ai renseigné le callback comme suit:
Jusque-là tout va bien et le contenu du .mat est enregistré dans le workspace sous le nom de variable File1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 % --- 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) hObject=Fcn_LoadCtrlMFile(); %% Fonction qui m'ouvre une fenêtre de sélection de fichier % Sauvegarde fichier chargé dans le workspace assignin('base','File1',hObject);
Ensuite, j'ai mis une textbox 'Edit1' dans laquelle je souhaite mettre une valeur contenue dans File1. J'ai donc ajouté une fonction de cette Textbox comme suit:
Je commence par charger la variable qui se situe dans le workspace à l'aide de la fonction evalin. Puis je set sa valeur numérique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 % --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end a=evalin('base','File1.UserData.Gain'); set(hObject,'String',num2str(a));
Le problème que je rencontre, c'est que cette étape doit être conditionner par l'exécution du bouton et donc en réalité, à la première exécution la TextBox est vide puis au chargement suivant la valeur de la variable apparait. Je ne sais pas comment lier le set de la TextBox à l'appui sur le bouton, ou plus précisément au chargement du File1.
Pourriez-vous m'aider?
Merci d'avance
Neodole
Partager