How to make uigetfile window pops-up in front of my app (designed in appdesigner)?

18 次查看(过去 30 天)
Hi Guys,
I use uigetfile to load a file in my app. But its window always ends up behind my app figure. I have tried a couple of solutions suggested in previous threads e.g. using drawnow, but it didn't work. I'm using matlab 2020a.
Is there a way to make uigetfile window show up on top of my app figure without turning my figure off/on?
I would be very grateful if you could share some works around this issue.
Best,
Toey
  5 个评论
Mario Malic
Mario Malic 2020-12-14
I can't find the original question where the workaround for this was posted, but write this after uigetfile or uigetdir
drawnow;
figure(app.ApplicationUIFigure); % replace this with your app handle

请先登录,再进行评论。

回答(2 个)

Geoff Martin
Geoff Martin 2023-8-10
I'm having exactly the same problem (with uiopen instead of uigetfile) - and the suggested solution seems to do the opposite of a fix.
The uigetfile pop-up pops up BEHIND the app window. So, if you don't know it's there, you won't go looking for it.
the only work-around I've found so far is to make the entire app window invisible (in my case, it's just app.UIFigure)
app.UIFigure.Visible = 'off';
uiopen('load');
app.UIFigure.Visible = 'on';
But this is obviously not very elegant.
Is there a way to move the uigetfile/uiopen window in front of the app window?

Jorg Woehl
Jorg Woehl 2024-5-14
I have just published a simple workaround for these focus issues, which -- as The MathWorks acknowledges -- still have "currently no official workaround". Check out my File Exchange contribution https://www.mathworks.com/matlabcentral/fileexchange/165961-fixfocus.

类别

Help CenterFile Exchange 中查找有关 App Building 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by