Zum Hauptinhalt springen

Matlab - GUI

 1% Erstellung einer Bedienoberflaeche mit Matlab
 2
 3% 1) guide starten
 4% 2) Oberflaeche "zusammenklicken"
 5%    und bereits erste Einstellungen vornehmen
 6% 3) generierte .m-File editieren
 7
 8% Komponenten des .m-Files
 9    % Ausgabe eines Warn-Dialoges
10        warndlg('Message', 'Titel');
11        
12        
13    % Verwendung eines Timers
14        tmr1 = timer('TimerFcn', {@tmrFcn, params}, 'Period',
15                     1, 'ExecutionMode', 'fixedDelay');
16        start(tmr1);
17    
18    % Verarbeitung Pausieren [sec (0.1 -> 100ms)]
19        pause(1);
20        
21    % generierte Funktions-Aufrufe
22        function tmrFcn(hObject, eventdata, params)
23            stop(tmr1);
24        
25        
26        function testGui_OpeningFcn(hObject, eventdata, handles, varargin)
27            % wird vor der Darstellung der GUI aufgerufen
28            % -> Anlegen von globalen Variablen, GUI initialisieren
29            
30            global var1
31            global var2
32            
33            var1 = 0;
34            var2 = 1;
35            
36        function testGUI_CloseFcn(src,evnt)
37            % kann selbst erstellt werden um aufraeum-Arbeiten zu erledigen
38            
39            % Erstellung/Einbindung:
40            set(handles.figure1,'CloseRequestFcn',@testGUI_CloseFcn);
41            
42        function pushbutton_button1(hObject, eventdata, handles)
43            % Einsprung-Punkt bei Button-Betaetigung
44            
45            % durch Angabe der verfuegbaren globalen Variablen,
46            % kann auf diese zugegriffen werden
47            global var1 var2
48            
49            var1 = 2;
50            
51        function edit_edit1_Callback(hObject, eventdata, handles)
52            % Einsprung-Punkt bei Veraenderung des Textfeldes
53            set(hObject, 'String', 'asdf');
54            string = get(hObject, 'String');
55            
56            % globaler Zugriff auf GUI Elemente
57            set(handles.edit_edit1, 'String', 'asdf');
58            string = str2num(get(handles.edit_edit1, 'String'));
59            
60            % Setzen von Attributen
61            markedObjectColor = [.6 .6 1.0];
62            unmarkedObjectColor = [1.0 1.0 1.0];
63            set(handles.edit_edit1, 'BackgroundColor', markedObjectColor);
64            drawnow();
65            
66            % String als Funktions-Namen verwenden
67            fhandle = str2func(get(handles.edit_edit1,'String'));
68            result = fhandle(param1, param2);
69            
70        function edit_edit1_CreateFcn(hObject, eventdata, handles)
71            % Einsprung-Punkt bei der Erstellung des Textfeldes
72            
73        function popupmenu_popup1_Callback(hObject, eventdata, handles)
74            % Einsprung-Punkt beim Auswaehlen eines Eintrages im Popup-Menue
75            
76            contents = get(hObject, 'String');
77            index = get(hObject, 'Value');
78            actContent = contents{index};
79            
80            str1{1} = 'item1';
81            str1{2} = 'item2';
82            set(hObject, 'String', str1);
83            
84        function slider_sl1_Callback(hObject, eventdata, handles)
85            % Slider wurde bewegt
86            global SldMax SldMin
87            
88            % Slider Wert holen und umrechnen
89            actVal = round(get(hObject,'Value') * (SldMax - SldMin) + SldMin);
90            
91            % Slider Position setzen
92            actVal = (value - SldMin) / (SldMax - SldMin);
93            set(handles.slider_sl1, 'Value', actVal);
94        
95        function radiobutton_rb1_Callback(hObject, eventdata, handles)
96            % auf Radio-Button wurde geklickt
97            
98            set(hObject,'Value',0);
99            set(hObject,'Value',1);