Appdesigner uigetfile focus error
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
更多回答(1 个)
Jorg Woehl
2024-5-14
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Develop Apps Using App Designer 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!