Appdesigner uigetfile focus error
3 views (last 30 days)
Show older comments
function DPlotButtonPushed(app, event)
if app.LoadButton == event.Source
[filenames2labels, FilePathState] = uigetfile({'*.txt'; '*.mat'; '*.m'; '*.mlx'; '*.csv'}, '파일 선택', 'MultiSelect','on');
if isequal(filenames2labels, 0)
disp('파일 선택이 취소되었습니다');
return;
else
fullpath = fullfile(FilePathState, filenames2labels);
disp(['선택한 파일 : ', filenames2labels]);
disp(['전체 경로 : ', FilePathState]);
return;
end
elseif app.AboutButton == event.Source
web('https://www.mathworks.com/help/matlab/', '-browser');
elseif app.ExitButton == event.Source
delete(app);
elseif app.SaveButton == event.Source
axesHandle = app.UIAxes;
% Capture the plot as an image
frame = getframe(axesHandle);
img = frame.cdata;
% Open a dialog to select the file path to save the image
[filename, pathname] = uiputfile({'*.png';'*.jpg';'*.bmp';'*.tif'}, 'Save As');
% Check if the user canceled the operation
if isequal(filename,0) || isequal(pathname,0)
disp('User selected Cancel');
return;
else
% Construct the full file path
fullFilePath = fullfile(pathname, filename);
% Save the captured plot as an image file
imwrite(img, fullFilePath);
disp(['Image saved as: ' fullFilePath]);
return;
end
end
end
end
appdesigner에서 버튼을 누르면 파일 선택 창이 나오도록 uigetfile 함수로 gui를 구축하고 있습니다. 구축하는 과정 중 파일 선택 창에서 취소 버튼을 누르면 focus가 이상해져서 파일 선택기 취소 후 app 유지 상태가 아니라 , 파일 선택기에서 취소를 누르면 app 자체가 최소화 되는 문제가 발생하고 있습니다.
code 작성은 위와 같이 했는데 해결 방법이 뭔가요 ??? 잘 모르겠습니다 ㅜㅜ
2 Comments
Accepted Answer
More Answers (1)
Jorg Woehl
on 14 May 2024
I am not sure if this answers your question but judging from the title and your code it may...: check out my File Exchange contribution https://www.mathworks.com/matlabcentral/fileexchange/165961-fixfocus.
0 Comments
See Also
Categories
Find more on Develop Apps Using App Designer in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!