Verfasst am: 15.10.2012, 15:13
Titel: Probleme Funktionswert an SubGUI zu übergeben
Hallo zusammen!
Ich bin relativ neu in Sachen Matlab GUI erstellen und komme momentan an meine Verständnisgrenzen, hoffe ihr könnt mir helfen.
Ich habe eine funktionierende MainGUI mit einigen SubGUIs. Bisher klappt soweit auch alles ohne Probleme.
Nun habe ich ein uimenu eingebaut, dass per Callback meine GUIs von deutsch in englisch übersetzt und umgekehrt. Die Funktion hierfür ist:
(getLabel ist eine weitere Funktion in ner seperaten m-File und der Verknüpfung für die dazugehörigen Übersetzungen)
War soweit auch nicht dramatisch. Der Callback für die englische Version siehe hier...
Code:
function english_Callback(hObject, eventdata, handles) % hObject handle to english (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
setLanguage('en');
aktLang = 'en';
handles.aktLang = aktLang;
guidata(hObject, handles);
setappdata(0,'main_window',handles.aktLang);
set(get(handles.language,'Children'),'Checked','off');
set(gcbo,'Checked','on');
Nun zu meinem Problem: Wenn ich für Dialogboxen in meinen SubGUIs auf die Variable lang mit den möglcihen Zuständen 'en' bzw. 'de' zugreifen will, erkennt er mir diese Variable nicht an.
Wie ihr hier seht, lade ich die handles in der OpeningFunction des SubGUIs:
Code:
% --- Executes just before sp_sim_parameter is made visible. function sim_parameter_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 sp_sim_parameter (see VARARGIN)
% Choose default command line output for sp_sim_parameter
handles.output = hObject;
Wie bekomme ich es hin, dass er mir lang in die SubGUIs übergibt? Also die Zustände 'en' bzw. 'de'? Habe auch schon versucht die GUIdata der MainGUI ins SubGUI zu laden, da gibt er mir den Fehler, dass die Variable den falschen Variablentyp besitzt, auch wenn ich sie wieder zu nem String machen will...
Wo liegt mein Fehler hier? Ich habe schon alle Tips und Lösungen ausm Forum und aus gängigen Tutorials ausprobiert...
Habe mich in setappdata und getappdata selbst verwirrt
Code:
function english_Callback(hObject, eventdata, handles) % hObject handle to english (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
setLanguage('en');
aktLang = 'en';
handles.aktLang = aktLang;
guidata(hObject, handles);
setappdata(0,'Language',handles.aktLang);
set(get(handles.language,'Children'),'Checked','off');
set(gcbo,'Checked','on');
(...nur falls hier auch mal jemand hängen bleibt )
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.