Set compiled matlab GUI folder
我有一个 Matlab GUI(我编译它),为了加载一个文件,我按下一个使用此行的按钮
1 |
如果我再次按下按钮,它会打开安装软件的文件夹。如何更改它以使其记住并打开我使用的最后一个文件夹?
谢谢。
根据
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,DialogTitle,DefaultName) displays a dialog box
in which the file name specified byDefaultName appears in the File
name field.DefaultName can also be a path or a path/filename. In
this case,uigetfile opens the dialog box in the folder specified by
the path. You can use. ,.. ,\\ , or/ in theDefaultName
argument. To specify a folder name, make the last character of
DefaultName either\\ or/ . If the specified path does not exist,
uigetfile opens the dialog box in the current folder.
您可以将上次打开的文件夹存储到您的 GUI 中,并在触发按钮回调时访问它。
例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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 关闭并重新打开时,此方法会重置为您的当前目录。
的输入
1 2 |
这是一个来自