matlab中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)


说明:

  1. file = uigetfile 打开一个模态对话框,其中列出了当前文件夹中的文件。用户可以在这里选择或输入文件的名称。如果文件存在并且有效,当用户点击打开时,uigetfile 将返回文件名。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将返回 0。
  2. 当用户点击打开时,[file,path] = uigetfile 将返回文件的名称和路径。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将为两个输出参数都返回 0。
  3. 当用户点击打开时,[file,path,indx] = uigetfile 将返回在对话框中选择的筛选器的索引。
  4. ___ = uigetfile(filter) 指定文件扩展名,根据该扩展名筛选对话框中显示的文件。可以将此语法与上述语法中的任何输出参数结合使用。通常,只显示文件扩展名匹配的文件。
  5. ___ = uigetfile(filter,title) 指定对话框标题。要使用默认文件筛选器进行筛选,但指定自定义标题,请使用空引号作为筛选器值。例如:
    file = uigetfile(’’,‘Select a File’)
  6. ___ = uigetfile(filter,title,defname) 为文件名字段指定默认文件名。
  7. ___ = 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

在这里插入图片描述
输出结果: UserselectedH:\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’;……}

在这里插入图片描述

  1. 给文件框加标题
[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.*'}, '标题名');

在这里插入图片描述

  1. 给筛选器加备注
[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');

在这里插入图片描述


对应规则很简单,筛选器一列,备注一列,效果如下:

在这里插入图片描述

  1. 指定默认文件名
[file,path] = uigetfile('*.png', 'Select an icon file','icon.png')  
 % 注意,前面需要有窗口名称,后面才是默认文件名

在这里插入图片描述

  1. 指定文件路径
[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');

在这里插入图片描述

  1. 设置多选

    你会发现上面的界面都不能多选的,如果需要多选,还要在参数中加上 ‘MultiSelect’, ‘on’,比如:
[file,path] = uigetfile('*.m',...
   'Select One or More Files', ...
   'MultiSelect', 'on');
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值