matlab中uigetfile函数使用方法 (选择文件提示框)
我们在使用matlab写GUI的时候有时候需要选择导入的文件,这样首先就要获得文件的文件名和路径,这就要用到uigetfile() 函数。
我们在使用matlab写GUI的时候有时候需要选择导入的文件,这样首先就要获得文件的文件名和路径,这就要用到uigetfile() 函数,它可以弹出一个选择文件的提示框,该函数的使用方法如下:
file = uigetfile
[file,path] = uigetfile
[file,path,indx] = uigetfile
___ = uigetfile(filter)
___ = uigetfile(filter,title)
___ = uigetfile(filter,title,defname)
___ = uigetfile(___,‘MultiSelect’,mode)
说明:
- file = uigetfile 打开一个模态对话框,其中列出了当前文件夹中的文件。用户可以在这里选择或输入文件的名称。如果文件存在并且有效,当用户点击打开时,uigetfile 将返回文件名。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将返回 0。
- 当用户点击打开时,[file,path] = uigetfile 将返回文件的名称和路径。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将为两个输出参数都返回 0。
- 当用户点击打开时,[file,path,indx] = uigetfile 将返回在对话框中选择的筛选器的索引。
- ___ = uigetfile(filter) 指定文件扩展名,根据该扩展名筛选对话框中显示的文件。可以将此语法与上述语法中的任何输出参数结合使用。通常,只显示文件扩展名匹配的文件。
- ___ = uigetfile(filter,title) 指定对话框标题。要使用默认文件筛选器进行筛选,但指定自定义标题,请使用空引号作为筛选器值。例如:
file = uigetfile(’’,‘Select a File’) - ___ = uigetfile(filter,title,defname) 为文件名字段指定默认文件名。
- ___ = uigetfile(___,‘MultiSelect’,mode) 指定用户是否可以选择多个文件。将模式设置为 ‘on’ 将允许进行多选。默认情况下设置为 ‘off’。
下面举例说明:
1.普通形式 [file,path] = uigetfile(’*.m’)
[file,path] = uigetfile('*.m');
if isequal(file,0)
disp('User selected Cancel');
else
disp(['User selected ', fullfile(path,file)]);
end
输出结果: User selected H:\Documents\MyCode\surf.m
[file,path,indx] = uigetfile;
if isequal(file,0)
disp('User selected Cancel')
else
disp(['User selected ', fullfile(path, file),...
' and filter index: ', num2str(indx)])
end
这里的 index 返回的是选中的类型名的排列序号,上图中index=3
[file,path] = uigetfile('*.m');
这行代码会默认显示.m文件,如果你要显示.txt文件,只需要将.m换成.txt即可,如果要同时显示多行不同类型文件,则用元胞数组表示,例如:{’.m’;’.txt’;……}
2. 给文件框加标题
[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.*'}, '标题名');
3. 给筛选器加备注
[file,path,indx] = uigetfile( ...
{'*.m;*.mlx;*.fig;*.mat;*.slx;*.mdl',...
'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)';
'*.m;*.mlx','Code files (*.m,*.mlx)'; ...
'*.fig','Figures (*.fig)'; ...
'*.mat','MAT-files (*.mat)'; ...
'*.mdl;*.slx','Models (*.slx, *.mdl)'; ...
'*.*', 'All Files (*.*)'}, ...
'Select a File');
对应规则很简单,筛选器一列,备注一列,效果如下:
4. 指定默认文件名
[file,path] = uigetfile('*.png', 'Select an icon file','icon.png')
% 注意,前面需要有窗口名称,后面才是默认文件名
5. 指定文件路径
[file,path] = uigetfile('*.png',...
'Select an icon file','icon.png')
这个 要注意,如果你要指定筛选器,顺序是 筛选器+标题+路径(可以在路径后面加默认文件名)
[file,path,indx] = uigetfile( ...
{'*.m;*.mlx;*.fig;*.mat;*.slx;*.mdl',...
'MATLAB Files (*.m,*.mlx,*.fig,*.mat,*.slx,*.mdl)';
'*.m;*.mlx','Code files (*.m,*.mlx)'; ...
'*.fig','Figures (*.fig)'; ...
'*.mat','MAT-files (*.mat)'; ...
'*.mdl;*.slx','Models (*.slx, *.mdl)'; ...
'*.*', 'All Files (*.*)'}, ...
'Select a File', 'C:\Users\75549\Desktop\第二次实验\name.png');
6. 设置多选
你会发现上面的界面都不能多选的,如果需要多选,还要在参数中加上 ‘MultiSelect’, ‘on’,比如:
[file,path] = uigetfile('*.m',...
'Select One or More Files', ...
'MultiSelect', 'on');
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)