设置编译的matlab GUI文件夹

时间:2017-08-03 15:21:41

标签: matlab directory matlab-guide

我有一个Matlab GUI(我编译它),为了加载文件我按下使用这一行的按钮

[file, folder] = uigetfile({'*.jpg;*.gif;*.bmp','All Image Files'},' Select image');

如果再次按下该按钮,则会打开安装软件的文件夹。如何更改它将记住并打开我使用的最后一个文件夹?

感谢。

2 个答案:

答案 0 :(得分:2)

根据uigetfile的文档,您可以指定可选的第三个输入参数DefaultName

  

[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle,DefaultName)显示一个对话框   其中DefaultName指定的文件名出现在文件中   名称字段。 DefaultName也可以是路径或路径/文件名。在   在这种情况下,uigetfile打开指定文件夹中的对话框   路径。您可以在.中使用..\/DefaultName   论点。要指定文件夹名称,请输入最后一个字符   DefaultName \/ uigetfile。如果指定的路径不存在,   function testgui h.f = figure('MenuBar', 'none', 'NumberTitle', 'off', 'ToolBar', 'none'); h.b = uicontrol('Parent', h.f, 'Style', 'pushbutton', 'Units', 'Normalized', ... 'Position', [0.1 0.3 0.8 0.4], 'String', 'Pick a file'); h.l = uicontrol('Parent', h.f, 'Style', 'text', 'Units', 'Normalized', ... 'Position', [0.1 0.1 0.8 0.1], 'String', ''); setappdata(h.f, 'lastfolder', ''); h.l.String = sprintf('Last Directory: %s', ''); h.b.Callback = @(o, e) abutton(h); end function abutton(h) lastfolder = getappdata(h.f, 'lastfolder'); [file, folder] = uigetfile({'*.jpg;*.gif;*.bmp','All Image Files'},' Select image', lastfolder); if folder ~= 0 setappdata(h.f, 'lastfolder', folder); h.l.String = sprintf('Last Directory: %s', folder); end end 打开当前文件夹中的对话框。

您可以将最后打开的文件夹存储到GUI,并在触发按钮回调时访问它。

例如:

docker ps -a

yay

请注意,当GUI关闭并重新打开时,此方法会重置为当前目录。

答案 1 :(得分:0)

folder的{​​{1}}输出是已选择的路径。将其用作下次调用uigetfile

的输入
uigetfile

这是来自[file, folder] = uigetfile({'*.jpg;*.gif;*.bmp','All Image Files';},... 'Select Image', folder); 的示例,但它也适用于doc uiputfile