|
|
GUI für erzeugung einer mat-Datei mit konfig-parametern |
|
Markuso |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.07.2011, 10:37
Titel: GUI für erzeugung einer mat-Datei mit konfig-parametern
|
|
Hallo, ich plane folgende GUI
prinzipiell ja recht einfach...
also ich möchte mir eine Struktur per gui erstellen und die dann als *.mat Datei abspeichern.
d.h. ich habe "static text" und "edit text"
die Struktur soll dann wie folgt aussehen
inf.nn=4;
inf.block=[1 2 3];
inf.dx=2000;
diese Werte möchte ich dann später auch in das Programm reinladen bzw. anzeigen lassen können.
wie mach ich das am besten?
ein handle auf eine struktur wo man die Werte dann einfügt? d.h. die struktur schon vorher vorgeben?
dann einen "save button" der das programm dann beendet und die Daten speichert?
Markus
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.07.2011, 11:23
Titel:
|
|
Hallo,
hört sich soweit vernünftig an. Das einzige Problem sehe ich bei dem "Handle auf eine Struktur" - das wird letztlich so aussehen, dass die Struktur entweder in dem UserData-Feld eines Objekts abgelegt wird (Zugriff mit get/set) oder als Anwendungsdaten der Figure (Zugriff mit getappdata/setappdata).
Als Callbacks der Textfelder hättest du dann
1. Holen der Struktur
2. Anpassen der Struktur (wäre auch schön, wenn du abfragst, ob die Werte auch sinnvoll sind)
3. Aktualisieren der Struktur
Grüße,
Harald
|
|
|
Torsten23__ |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.07.2011, 08:28
Titel:
|
|
hm, danke für die Antwort, hätte da noch eine Frage...
wenn ich mir z.B. das Beispiel unter http://blinkdagger.com/matlab/matla.....tutorial-for-beginners/#4 so ansehe
wie würde das in der Praxis dann mit "Userdata" aussehen, um z.B. "inf.nn=4; " für die abzuspeichernde Struktur zu erstellen
das was im verlinkten Beispiel als handles aufgeführt werden sind userdata? oder vermische ich noch etwas handles und userdata, oder ist das gleiche?
bzw. ist in Programmen die mit guide erstellt wurden guidata zu bevorzugen?
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 04.07.2011, 20:52
Titel:
|
|
|
|
|
Hallo Torsten,
Die Benutzung von "input" als Namen einer Variablen ist tückisch, da dies schon der Name einer Toolbox-Funktion ist.
Die aktuelle Figure per GCF zu bestimmen, funktioniert solange keine andere Figure gerade in den Vordergrund kommt, z.B. eine WAITBAR. Besser wäre entweder GCBF oder "ancestor(hObject, 'figure')".
"handles" und "UserData" werden beide als Properties der FIGURE abgespeichert. Nur landen die "UserData" in einem Extra-Feld, während die "handles" als Feld im Struct ApplicationData gespeichert werden - siehe Source code von GUIDATA. Der Unterschied ist unerheblich.
Man kann z.B. die statischen Werte, die sich also während der Benutzung der GUI nicht ändern, per GUIDATA im Struct "handles" (der kann übrigens auch anders heißen) speichern, und die dynamischen in den UserData, z.B. das zuletzt aufgerufene File etc. Als dritte Möglichkeit kann man auch beliebige Daten per SETAPPDATA in der FIGURE speichern, aber das entspricht dem handles/guidata-Konzept exakt.
Gruß, Jan
|
|
|
Torsten23__ |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.07.2011, 18:26
Titel:
|
|
ok, vielen Dank für diese Aufklärung.
hm, dann eine andere Frage, wenn ich nun meine Daten intern mit "handles" verwalte...
und mit
handles.ownvalues.size=10
handles.ownvalues.length=14
neue Werte hinzufüge, die ich über Gui-Elemente verändern lasse...
zwischen den einzelnen call-back functions werden diese Werte über
guidata(hObject, handles);
aktualisiert....
wie kann ich nun diese Wert als Rückgabewert einer Funktion bekommen....
z.B.
[ownvalues]=meinegui(wert1,wert2,wert3) ...
bisher beende ich meine Funktion wie folgt... dabei bekomme ich dann allerdings keine Daten zurück
function closepushbutton_Callback(hObject, eventdata, handles)
close all;
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|