Verfasst am: 14.09.2018, 10:59
Titel: Werte in Edit Text aktualisieren, nach Auswahl in Popup
Hallo zusammen,
ich habe in einem GUI einige „Edit Text“ Felder, in denen Werte ausgegeben werden. Nun habe ich zusätzlich noch ein Popup Menü, in dem unterschiedliche Fälle aufgelistet sind. Mein Ziel ist es, dass nach einer Auswahl im Popup Menü die Werte in den Edit Textfeldern dementsprechend aktualisiert werden.
Nun meine Frage:
Muss ich in dem Callback des Edit Text über „get“ abfragen, welches Value im Popup gerade gewählt ist und dann in Abhängigkeit dessen über „set“ den entsprechenden Wert im Edit Text ausgeben lassen? Also in etwa so:
Code:
function Popup_Callback(hObject, eventdata, handles) % Pop up Menü [~,txt,~] = xlsread('\input\input_data.xlsx');
lc_name = txt(3:end,2);
set(handles.Popup,'String',lc_name);
function Edittext_Callback(hObject, eventdata, handles)
P_Value = get(handles.Popup,'Value');
for m = 1:handles.p.ne
Edittext_plot_1(:,m) = data_conv(handles.Wertebox{P_Value,1}{m,1}.Minimum);
end
Edittext_plot = Edittext_plot_1(:);
Edittext.String = num2str(zero_mean(Edittext_plot),'%.2f');
set(Edittext.String);
Oder wird dies alles über das Callback im Popup Menü geregelt? Denn momentan funktioniert keine Variante bei mir. Vielleicht muss man dafür auch zusätzlich noch einen Push Button einbauen, über den dann nach Auswahl im Popup Menü der Befehl erteilt wird, dass im Edit Text die Werte aktualisiert werden.
in den Callback sollte immer alles, was unmittelbar nach einer Interaktion mit einem Element ausgeführt werden soll.
Zitat:
Mein Ziel ist es, dass nach einer Auswahl im Popup Menü die Werte in den Edit Textfeldern dementsprechend aktualisiert werden.
Das würde ich so verstehen, dass du im Callback des Popupmenüs bzw. seiner SelectionChangeFcn die Inhalte der Edit-Felder setzen musst.
Zitat:
Denn momentan funktioniert keine Variante bei mir.
Bitte immer konkret beschreiben, wie sich das "Nicht-Funktionieren" äußert.
Grüße,
Harald
P.S.: ich vermute, du verwendest GUIDE. App Designer kann deutlich einfacher sein.
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
ja ich nutze den GUIDE, da ich ein Programm weiterentwickeln muss und daher auf bereits vorhandene Programmstrukturen zurückgreife. Sicherlich kann man hier noch einiges optimieren bzw. eignen sich vielleicht einige Optionen besser, aber dafür fehlen mir sowohl die nötigen Erfahrungen und Fertigkeiten in Matlab als auch Zeit. Aber solange es am Ende wie gewünscht funktioniert, bin ich glücklich.
Das mit dem "nichtfunktionieren" war in diesem Fall schwer auszudrücken, da im Command Window keine Fehlermeldung kam und ich somit keine Rückschlüsse ziehen konnte, wo genau nun das Problem liegt.
Aber ich habe es mittlerweile gelöst. Die Aktualisierung der Edit Textfelder erfolgt wie bereits gesagt über die Callback Funktion des Popup Menüs.
Hier mal beispielhaft dargestellt:
Code:
function Popup_Callback(hObject, eventdata, handles) % Pop up Menü [~,txt,~] = xlsread('\input\input_data.xlsx');
lc_name = txt(3:end,2);
set(handles.Popup,'String',lc_name);
P_Value = get(handles.Popup,'Value');
% Aktualisierung des Wertes im Edit Text
Edittext =handles.Edittext;
for m = 1:handles.p.ne
Edittext_plot_1(:,m) = data_conv(handles.Wertebox{P_Value,1}{m,1}.Minimum);
end
Edittext_plot = Edittext_plot_1(:);
Edittext.String = num2str(zero_mean(Edittext_plot),'%.2f');
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.