Filter löschen
Filter löschen

How to get specific axes handle in GUI with more then one axes?

1 Ansicht (letzte 30 Tage)
SturmGhost
SturmGhost am 20 Apr. 2018
Kommentiert: SturmGhost am 20 Apr. 2018
Say I have GUI_1 with several axes. Now I start GUI_2 changes some settings and the corresponding axes in GUI_1 should change corresponding to the changes in GUI_2. Problem is I can't get the right axes-handle to refresh the correct axes.
findobj(HandleToGUI_1, 'type', 'axes')
gives me all axes and...
findobj(HandleToGUI_1, 'type', 'axes', '-and', 'Tag', 'TagForMySpecificAxes')
doesn't work...
How can I get the handle for my specific axes?
  3 Kommentare
Dennis
Dennis am 20 Apr. 2018

you can assign a handle when you create the axes

handles.axes1=axes('Position',[0.86 0 0.15 0.15])
SturmGhost
SturmGhost am 20 Apr. 2018

@Jan

I will get an empty GraphicsPlaceholder as a handle.

HandleVisibility is on.

If I run my second example without the '-and' code inside GUI_1.m it works. Unfortunately, if I call my refresh function from GUI_2.m it doesn't finde the handle. To access my refresh function (which is located in GUI_1.m) from GUI_2.m I use

setappdata(gcf, 'fhUpdateFilterPreview', @UpdateFilterPreview);

in GUI_1.m at the GUI_OpeningFcn function and in GUI_2.m

fhUpdateFilterPreview = getappdata(hImageAnalyzer, 'fhUpdateFilterPreview');
[...]
feval(fhUpdateFilterPreview);

@Dennis

GUIDE will already assign a handle to the axes. Problem is, if I call my refresh function from GUI_2, I don't have this handle accessible.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 20 Apr. 2018
Bearbeitet: Jan am 20 Apr. 2018

If the figure was created by GUIDE:

handles_GUI1 = guidata(HandleToGUI_1);
handles_GUI1.TagForMySpecificAxes   % May be called specifically, perhaps 'axes_<TAG>' 

You can store the wanted object manually by guidata also, when you do not use GUIDE. Using an already stored handle is faster than searching dynamically. If there is a huge number of elements in the GUI (hundreds), the delay is noticable.

Weitere Antworten (0)

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by