参考:https://ww2.mathworks.cn/help/matlab/ref/uigetfile.html?searchHighlight=uigetfile&s_tid=doc_srchtitle

uigetfile

打开文件选择对话框

全页折叠
 

说明

file = uigetfile 打开一个模态对话框,其中列出了当前文件夹中的文件。用户可以在这里选择或输入文件的名称。如果文件存在并且有效,当用户点击打开时,uigetfile 将返回文件名。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将返回 0

当用户点击打开时,[file,path] = uigetfile 将返回文件的名称和路径。如果用户点击取消或窗口关闭按钮 (X),uigetfile 将为两个输出参数都返回 0

示例

当用户点击打开时,[file,path,indx] = uigetfile 将返回在对话框中选择的筛选器的索引。

示例

___ = uigetfile(filter) 指定文件扩展名,根据该扩展名筛选对话框中显示的文件。可以将此语法与上述语法中的任何输出参数结合使用。

通常,只显示文件扩展名匹配的文件。在某些平台上,uigetfile 还会显示与筛选器不匹配的文件,但这些文件的文件名会灰显。如果筛选器缺失或为空,uigetfile 将使用默认文件类型列表(例如,所有 MATLAB 文件)。

示例

___ = uigetfile(filter,title) 指定对话框标题。要使用默认文件筛选器进行筛选,但指定自定义标题,请使用空引号作为筛选器值。例如:

file = uigetfile('','Select a File')

示例

___ = uigetfile(filter,title,defname)文件名字段指定默认文件名。

示例

___ = uigetfile(___,'MultiSelect',mode) 指定用户是否可以选择多个文件。将模式设置为 'on' 将允许进行多选。默认情况下设置为 'off'

Windows 库可以跨多个文件夹。

注意

对话框的可视特征取决于运行代码的操作系统。例如,某些操作系统不在对话框中显示标题栏。如果您向 uigetfile 函数传递对话框标题,这些操作系统不会显示标题。

 

示例

显示完整文件路径

显示在对话框中选择的文件的完整文件路径。使用 dispfullfile 函数添加说明性文本并串联 pathfile 输出值。

[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

显示筛选器索引选择

在命令行窗口中显示选定筛选器的索引及相关的说明性文本。使用 num2str 函数将数值型筛选器索引值 (indx) 转换为字符数组。这样可使索引值成为 disp 函数的有效输入。

[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

User selected H:\Documents\MyCode\peaks.fig and filter index: 3

按扩展名筛选文件

通过指定 '*. m' 作为 filter 输入参数,在对话框中仅显示扩展名为 .m 的文件。

[file,path] = uigetfile('*.m');

指定筛选器列表和对话框标题

创建一个显示在文件筛选器下拉列表中的文件扩展名列表。以字符向量元胞数组的形式传递 filter 输入参数,并用分号分隔文件扩展名。

[file,path] = uigetfile({'*.m';'*.slx';'*.mat';'*.*'},...
'File Selector');

指定筛选器和筛选器说明

通过以字符向量元胞数组的形式传递 filter 输入参数,创建一个文件扩展名列表并为扩展名提供说明。元胞数组的第一列包含文件扩展名,第二列包含文件类型的自定义说明。此示例还将多个文件类型与 'MATLAB Files''Models' 说明关联。

[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');

指定默认文件名

要在对话框打开时在文件名字段中显示一个默认的文件名,请将此文件名作为 defname 输入参数进行传递。

 [file,path] = uigetfile('*.png',...
'Select an icon file','icon.png')

指定默认路径和文件

要在对话框打开时在文件名字段中显示默认路径下的默认文件名,请将完整文件名作为 defname 输入参数进行传递。

[file,path] = uigetfile('C:\Documents\Work\icon.png',...
'Select an Image File')

启用多选

'Multiselect' 选项设置为 'on' 可以启用多选。用户可以通过按住 ShiftCtrl 键并点击文件名来选择多个文件。

[file,path] = uigetfile('*.m',...
'Select One or More Files', ...
'MultiSelect', 'on');

输入参数

全部折叠

filter - 文件筛选器
字符向量 (默认) | 字符向量 | 字符向量元胞数组 | 字符串数组

文件筛选器,指定为字符向量、字符向量元胞数组或字符串数组。

  • 如果 filter 是文件名,该文件名将出现在文件名字段中。该文件的扩展名即为默认筛选器值。(筛选器字段没有标签,显示在文件名字段的右侧。)

  • filter 可以包含路径。该路径可以包含以下字符:

    • .

    • ..

    • \

    • /

    • ~

    例如,'../*.m' 列出位于当前文件夹上一级文件夹中具有 .m 扩展名的所有代码文件。

  • 如果您或用户在文件名中包含星号 (*) 或问号 (?),则点击打开时,uigetfile 不会响应。且对话框会一直保持打开状态,直到用户点击取消或删除名称中的通配符为止。此限制适用于所有平台,即使允许在文件名中使用这些字符的文件系统也受此限制。

  • 如果指定的路径不存在,uigetfile 将在当前文件夹中打开对话框。

  • 如果 filter 是文件夹名称,MATLAB 将显示该文件夹的内容。文件名字段为空,并且不应用任何筛选器。要指定文件夹名称,filter 的最后一个字符必须是反斜杠 (\) 或正斜杠 (/)。

  • 如果 filter 是字符向量元胞数组或字符串数组,则可以包含两列。第一列包含文件扩展名列表。可选的第二列包含相应的说明列表。这些说明替换筛选器字段中的标准说明。说明不能为空。

示例: 'myfile.m'

示例: '../myfile.m'

示例: '../..'

title - 对话框标题
'选择要打开的文件' (默认) | 字符向量

对话框标题,指定为字符向量。

示例: 'Select a File'

defname - “文件名”字段的默认值
' ' (默认) | 字符向量 | 字符串标量

文件名字段的默认值,指定为字符向量或字符串标量。defname 值可以指定路径,也可以指定路径加文件名。

  • 如果指定路径,则可以包含以下字符:

    • .

    • ..

    • \

    • /

    • ~

  • 要仅指定文件夹名称,请使用反斜杠 (\) 或正斜杠 (/) 作为 DefaultName 的最后一个字符。

示例: 'myfile.mat'

示例: 'C:\Documents\my_MATLAB_files'

示例: '..\myfile.mat'

示例: '..\Documents\'

mode - 多选模式
'off' (默认) | 'on'

多选模式,指定为 'on''off'。如果多选模式关闭,则用户只能选择一个文件。如果多选模式打开,则用户可以选择多个文件。如果用户选择多个文件,它们必须在同一个文件夹中;否则 MATLAB 将显示警告对话框。Microsoft Windows 库可以跨多个文件夹。

输出参数

全部折叠

file - 文件名
字符向量 | 字符向量元胞数组

用户在对话框中指定的文件名,以字符向量或字符向量元胞数组的形式返回。

'MultiSelect' 设置为 'on' 并且用户选择多个文件时,将返回一个字符向量元胞数组。每个数组元素都包含所选文件的名称。元胞数组中的文件名按照用户平台使用的顺序排序。如果用户选择多个文件,它们必须在同一个文件夹中,否则 MATLAB 将显示警告对话框。

如果用户点击取消按钮或窗口关闭按钮 (X),MATLAB 将返回文件值 0

path - 指定的文件的路径
字符向量

指定的一个或多个文件的路径,以字符向量形式返回。

如果用户点击取消按钮或窗口关闭按钮 (X),MATLAB 将返回文件值 0

indx - 选定的筛选器索引
整数

选定的筛选器索引,以整数形式返回。

筛选器是不带标签的对话框控件,显示在对话框中文件名字段的右侧。筛选器的索引值与筛选器下拉列表中所选择的项目相对应。第一行的索引为 1。

如果用户点击取消按钮或窗口关闭按钮 (X),MATLAB 将返回索引值 0

详细信息

全部折叠

模态对话框

模态对话框阻止用户在响应模态对话框之前与其他 MATLAB 窗口进行交互。

提示

  • 利用 uigetfile 返回的路径和文件名,可以使用 MATLAB 和 MATLAB 工具箱中的各种输入和输出函数打开、读取或分析文件。例如下面列出的函数:

    • 用于读取图像的 imread 函数。

    • 用于读取 Microsoft Excel 文件的 xlsread 函数。

    • 用于操作 MATLAB 代码文件的 openeditrun 函数。例如,下面的代码会创建一个对话框,从用户处获取 MATLAB 代码的文件名、根据返回的值生成完整的文件名,然后再运行用户指定的代码文件。

      [file,path] = uigetfile('*.m');
      selectedfile = fullfile(path,file);
      run(selectedfile);

替代功能

使用 dir 函数可以返回当前文件夹或指定文件夹中已筛选或未筛选的文件列表。dir 函数还可以返回文件属性。

另请参阅

uigetdir | uiopen | uiputfile

在 R2006a 之前推出

 
 

Matlab中的uigetfile用法的更多相关文章

  1. MATLAB中“fitgmdist”的用法及其GMM聚类算法

    MATLAB中“fitgmdist”的用法及其GMM聚类算法 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ 高斯混合模型的基本原理:聚类——GMM,MA ...

  2. MATLAB中冒号的用法

    MATLAB中冒号的用法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ matlab中冒号代表步长,用实例来说明 >> A=[1 2 3 ...

  3. MATLAB中冒号的用法解析

    MATLAB中冒号的用法解析 1.: 表示所有的意思. (1)如:a(1,:) 表示a的第1行,示例: 结果: 同样的如果a(2,:)表示a的第2行 (2)反过来,a(:,2) 表示a的第3列,示例: ...

  4. MATLAB中mean的用法

    https://blog.csdn.net/wangyang20170901/article/details/78745587 MATLAB中mean的用法 转载仙女阳 最后发布于2017-12-07 ...

  5. matlab中freqz的用法以及多项式的展开

    对于一个变量a,matlab中定义需要这样 syms a: 定义之后就可以写由变量组成的式子,比如 c=(1+a^-1)^5; 可以用expand(c) 就能把c展开成多项式,每一项的系数就可以看到. ...

  6. Matlab中struct的用法

    struct在matlab中是用来建立结构体数组的.通常有两种用法: s = struct('field1',{},'field2',{},...)  这是建立一个空的结构体,field1,field ...

  7. matlab中句柄@的用法

    @是Matlab中的句柄函数的标志符,即间接的函数调用方法. 1 句柄函数 主要有两种语法: handle = @functionname handle = @(arglist)anonymous_f ...

  8. matlab 中max函数用法

    Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的 ...

  9. 学习笔记3—matlab中load特殊用法

    1.在matlab中 ,infro.mat中存有很多子矩阵(比如:mean_FA.mat, mean_e1.mat和 mean_e2.mat),调出某一个矩阵时,命令行为:load([path,'\' ...

随机推荐

  1. 《spring源码解读》 - IoC 之解析 import 标签

    在上一文中我们分析了注册 BeanDefinition 的过程,在其中我们了解到在解析跟节点和子节点时分两种情况,对于默认名称空间的标签我们通过 DefaultBeanDefinitionDocume ...

  2. 是时候扔掉 Postman 了,Apifox 不香吗!

    偶然间发现这款测试工具Apifox,暂时还没有想好该把它叫接口测试工具还是辅助开发工具.但是,给我感觉,就是很好用,而且后面还有很多开发的功能是我很期待的. 根据官方给出的简单描述,它能做的事就是: ...

  3. WPF实现的加载动画

    2020-09-03 09:43:30 xaml代码 <Grid x:Name="LayoutRoot" Background="Transparent" ...

  4. Pytest的装饰器——parametrize中ids里包含中文,用例标题显示异常如何解决?

    在使用pytest做测试的过程中,经常会用到pytest.mark.parametrize来对批量生成测试用例,比如 @pytest.mark.parametrize( ['a', 'b', 'exp ...

  5. 【jmespath】—2. 进阶 List and Slice Projections

    Projections翻译的话说实话我也不知道翻成什么比较准确,姑且就叫"投影"吧,不过带来的功能确实非常的强大.好用. 首先,我先说下我的理解: 通配符 * 通配符生成的是一个l ...

  6. 什么是Nginx -九五小庞

  7. JS 进制转换的理解

    该事情的由来是来自于一个面试题,题目是这样的,[1,2,3].map(parseInt)的结果是什么? 作为菜鸟的我们一定是觉得分别把1,2,3分别交给parseInt,无非就是1,2,3嘛.其实结果 ...

  8. deepin20 安装英伟达闭源驱动

    第一步.安装深度的"显卡驱动器" 在deepin v20 中默认没有显卡驱动管理器,需要命令行安装,命令如下(刚开始一直出错,当我第一次打开应用商店,就可以安装了,好神奇): su ...

  9. 剑指 Offer 43. 1~n整数中1出现的次数

    题目描述 输入一个整数 n ,求1-n这n个整数的十进制表示中1出现的次数. 例如,输入12,1-12这些整数中包含1 的数字有1.10.11和12,1一共出现了5次. 示例 1: 输入:n = 12 ...

  10. [MySQL]如何将大数值带上 元,万,亿 这样的单位?

    要解决的问题: 某表某字段用来表示交易金额,不同记录的金额相差很大,有的只有几元几角几分,有的却上亿.如果直接就把数值在页面上展示出来,则可读性不佳.因此我们需要将其单位展示出来,如1.23元,3.4 ...