使用 uiputfile 另存为类型时出错 - Matlab

Error in save as type using uiputfile - Matlab

在应用程序设计器中,我有两个按钮,其中一个用于声明工作文件夹:

function setSaveLocationButtonPushed(app, event)
     app.path = uigetdir()             
end

另存一张图片

function saveButtonPushed(app, event)
       pathSave = app.path;  
       [file, pathSave] = uiputfile([pathSave,'*.jpg']);
…
            
        end

为什么我得到的另存为类型也是app.path? (如图)

您的代码 [pathSave,'*.jpg'] 连接路径和过滤器,然后将结果作为唯一参数传递给 uiputfile 函数。这个参数告诉函数要使用什么文件过滤器。

不存储所选目录,而是更改当前目录。文件选择 UI 始终在当前目录中打开。

function setSaveLocationButtonPushed(app, event)
   p = uigetdir;
   cd(p)         
end

function saveButtonPushed(app, event)  
   [file, pathSave] = uiputfile('*.jpg');
   …       
end

如果你不想改变整个应用程序的当前目录,你可以在调用uiputfile函数之前改变它,然后再改变回来:

function saveButtonPushed(app, event)
   p = cd(app.path);
   [file, pathSave] = uiputfile('*.jpg');
   cd(p);
   …       
end