|
|
kommunikation zwischen mehreren GUIs |
|
isbjörn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.06.2009, 09:02
Titel: kommunikation zwischen mehreren GUIs
|
|
Hallo zusammen,
ich habe eine grundlegende Frage zur Übergabe von Variablen zwischen verschiedenen GUIs.
Leider habe ich in den bisherigen Forumseinträgen noch keine Lösung für mein Problem gefunden.
Zum Problem:
GUI1 besteht aus einer Checkbox, einem Editfeld und einem Pushbutton. GUI2 besteht nur aus einem Editfeld.
Aufgabe soll nun sein.
Sobald in GUI1 das Checkboxfeld aktiviert wird, soll das Editfeld in GUI1 ebenfalls aktiv werden (sonst deaktiviert-grau- bleiben).
Wenn dann ein Wert ins Editfeld eingetragen wird, soll dieser nach Drücken des Pushbuttons in das Editfeld von GUI2 übergeben werden.
Wie geht das?
Kann mir hierbei jemand helfen?
Gruß Isbjörn
|
|
|
|
|
Dagnabit |
Forum-Century
|
|
Beiträge: 244
|
|
|
|
Anmeldedatum: 23.04.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.06.2009, 17:09
Titel:
|
|
Servus isbjörn
Viele Wege führen nach Rom .
Hier einer von vielen:
Ich hab das jetzt nicht probiert, sollte ansatzweise aber stimmen.
Ich weiß natürlich jetzt nicht ob Gui1 geschlossen werden soll nachdem Gui2 geöffnet wurde, oder eine etwaige Eingabe in Gui2 auf Gui1 übertragen werden sollte.
Je nach Ablauf, würde es u.U. auch Sinn machen mit appdata zu arbeiten.
_________________
lg
Martin
|
|
|
isbjörn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2009, 09:32
Titel:
|
|
Hallo Martin,
besten Dank für Deinen Vorschlag. Er sah sehr vielversprechend aus. Leider hat er noch nicht zum Erfolg geführt.
Ich hab deinen Code angepasst und unter den Pushbutton der GUI 1 eingetragen und probiert.
% Hier musst Du statt "GUI2" den Tag Deiner 2. Gui einsetzen
handlesGUI2 = guihandles( findobj( 'Tag', 'GUI2figure'));
% Statt "editfeldGUI2" den Tag des Editfeldes in Gui2 angeben
% Statt "editfeldGUI1" den Tag des Editfeldes in Gui1 angeben
set( handlesGUI2.edit2, 'String', get( handlesGUI1.edit1, 'String'));
Als Ergebnis tat sich leider nichts und es kam folgende Fehlermeldung beim Schließen des GUI2 Fensters:
??? Error using ==> guihandles at 70
H must be the handle to a figure or figure descendent.
Error in ==> GUI1>pushbutton1_Callback at 111
handlesGUI2 = guihandles( findobj( 'Tag', 'GUI2figure'));
Was ging schief? Hast du evtl. eine Idee?
Besten Dank
Isbjörn
|
|
|
Dagnabit |
Forum-Century
|
|
Beiträge: 244
|
|
|
|
Anmeldedatum: 23.04.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2009, 09:44
Titel:
|
|
Servus isbjörn
Die Fehlermeldung verwundert mich nicht.
Nachdem Du Gui2 geschlossen hast, wird sich der pushbutton_Callback schwer tun auf Elemente der Gui2 zuzugreifen.
Um beurteilen zu können, warum sich nichts tat, müsste ich mal Deinen Callback sehen.
Poste doch mal Deine Version von
_________________
lg
Martin
|
|
|
isbjörn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2009, 12:15
Titel:
|
|
Hallo Martin,
ich habe jetzt den Code in die Callbackfkt. des GUI2-Button geschrieben
und es funktioniert soweit. Ich habe jetzt so zu sagen einen "Update"-Button in GUI2. Danke schonmal an dieser Stelle.
Ginge es aber auch, dass bereits beim Drücken des Buttons von GUI1 der Wert ins Editfeld von GUI2 übertragen wird, ohne noch einen zusätzlichen Button in GUI2 zu drücken?
Gruß Isbjörn
|
|
|
Dagnabit |
Forum-Century
|
|
Beiträge: 244
|
|
|
|
Anmeldedatum: 23.04.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2009, 12:22
Titel:
|
|
Servus isbjörn
Wenn Gui2 "offen" ist wenn Du Deinen Button in Gui1 drückst, funktioniert das genauso wie Du es mit dem Button in Gui2 gemacht hast.
Wenn Gui2 aber erst mit drücken vom Button in Gui1 geöffnet wird, musst Du es anders lösen.
Stichwort: Output_function
_________________
lg
Martin
|
|
|
isbjörn |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.06.2009, 13:48
Titel:
|
|
Hi Martin,
Besten Dank für Deine Hilfe. Jetzt hab ich es soweit verstanden und werde das mit der Output_function einmal ausprobieren.
Gruß isbjörn
|
|
|
|
|
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 - 2024
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.
|
|