WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Interaktion zwischen GUI-Fenstern

 

2010ak1989
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 17.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.04.2015, 16:46     Titel:
  Antworten mit Zitat      
Hey,

ich habe im moment das Problem, dass ich eine Haupt GUI (GUI_1) habe. von dort aus wird eine Oberfläche (GUI_2)geöffnet, wo ca. 50 Axes erstellt werden mit jeweils einem anderen Bild. Das läuft so weit auch gut.

Ich arbeite mit einer globalen Variablen, um überall auf die unterschiedlichen Handles zugreifen zu können.

Stellen wir mal vor ich habe in GUI_1 ein Axes (Handle 50.0001), dass zu einem bestimmten Zeitpunkt leer und unsichtbar ist. Irgendwann öffne ich GUI_2, die ganzen 50Axes werden erstellt und die Bider geladen.

Nun stelle in GUI_2 etwas ein, warte noch eine Zeit lang und irgendwann möchte ich in das Axes in GUI_1 ein Bild laden.
Nun lädt mir MATLAB permanent das Bild in das letzte Axes in GUI_2.

ich habe mir ein kleines Programm geschrieben, wo (Bildpfad, AxesHandle) übergeben werden, um die Routine für Axes aktivieren, Bild laden image erstellen und Achsen ausblenden ausgelagert werden. Aber keine Chance.

es geht immer in das letzte, vor ein paar Tagen hatte ich es sogar in einem anderen der 50 Axes.

Ich würde mich freuen, wenn mir jemand helfen kann. Danke
Private Nachricht senden Benutzer-Profile anzeigen
Gesplittet: 11.04.2015, 22:01 Uhr von Jan S
Von Beitrag Bild in axis anzeigen aus dem Forum GUIs


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 11.04.2015, 22:35     Titel:
  Antworten mit Zitat      
Hallo 2010ak1989,

Bitte hänge keine neuen Fragen an bestehende Threads an. Andernfalls wird unklar zu welcher Frage eine Antwort gehört und der "beantwortet"-Status wird sinnfrei. Danke!

Ich rate grundsätzlich von globalen Variablen ab. Sowie man zwei GUIs öffnet, führen sie zwangsläufig dazu, dass das Programm scheitert.
Einfacher und sicherer ist es, in den ApplicationData oder UserData der Figure die Handles der anderen zu speichern, z.B. mit dem GUIDATA-Befehl.

Zitat:
Nun lädt mir MATLAB permanent das Bild in das letzte Axes in GUI_2.

Bitte poste den Code, mit dem dieses Verhalten entsteht. Sonst kann man nur schlecht Verbesserungs-Ideen vorschlagen.

Wenn ein Image, Diagram oder sonstiges Grafik-Objekt in einem bestimmten AXES-Objekt erscheinen soll, muss man den Handle des AXES als 'Parent'-Eigenschaft angeben:
Code:
handles.Figure = figure;
handles.ImagesAxes = axes;
...
guidata(handles.Figure, handles);
...
% In anderer Funktion/Callback/etc:
handles = guidata(FigureHandle);  % Oder anderer Handle
image(rand(10, 10, 3), 'Parent', handles.ImageAxes);
 

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.