参考: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. checkbox手动样式改变

    .image_input_checkbox{ width:18px; height:18px; display: inline-block; vertical-align: middle; -webk ...

  2. Fitness - 05.04

    倒计时241天 运动38分钟,共计9组.拉伸10分钟. 每组跑步2分钟(6.3KM/h),走路2分钟(6KM/h). 上午下了课,直奔健身房. 手机坏了,没有听音乐. 没有吃午饭,但是上午喝的咖啡还是 ...

  3. laravel5学习并搭建网站【更新至2020-09-03】

    之前一直不清楚 php artisan 要如何使用,有朋友推荐使用phpstorm可以进行命令行执行, 现在发现其实如果真的不喜欢phpstorm的加载缓慢,可以试试计算机原有的命令行 记住需要跳转到 ...

  4. FZU - 2037 -Maximum Value Problem(规律题)

    Let’s start with a very classical problem. Given an array a[1…n] of positive numbers, if the value o ...

  5. 【问题】Java和Scala混合编译下无法正常使用lombok的问题

    工作中有java和scala和混合编译的工程,最近遇到一个问题,就是工程中有依赖java bean的scala文件,编译过程中发现编译器无法找到Java bean 中 lombok生成的getter, ...

  6. netty如何进行单元测试

    一种特殊的Channel 实现——EmbeddedChannel,它是Netty 专门为改进针对ChannelHandler 的单元测试而提供的. 将入站数据或者出站数据写入到EmbeddedChan ...

  7. PHP复杂变量

    eval($str="${${phpinfo()}}";)     →   可以执行phpinfo() ${phpinfo()} = {${phpindo()}} PHP复杂变量 ...

  8. shell 设置进程数运行

    问题描述 在服务器上提交任务时,需要限制运行的核的数目.程序本身是单线程的,但是不同的输入参数需要跑很多组,粗暴的方法是开多个终端,不断地去提交任务.但这比较麻烦,可以用 shell 实现. 基础 首 ...

  9. Docker镜像下载很慢,各种加速无效

    mcr.microsoft.com/dotnet/......   改成: dockerhub.azk8s.cn/dotnet/...... 或 mcr.azk8s.cn/dotnet/......

  10. Centos7,PHP7安装swoole

    Swoole详细介绍及如何使用,这里暂时不做说明,可以参考一下文档:https://wiki.swoole.com/ 源码编译安装 下载地址如下: https://github.com/swoole/ ...