Matlab中的uigetfile用法
参考:https://ww2.mathworks.cn/help/matlab/ref/uigetfile.html?searchHighlight=uigetfile&s_tid=doc_srchtitle
uigetfile
打开文件选择对话框
语法
说明
___ = uigetfile(
指定文件扩展名,根据该扩展名筛选对话框中显示的文件。可以将此语法与上述语法中的任何输出参数结合使用。filter
)
通常,只显示文件扩展名匹配的文件。在某些平台上,uigetfile
还会显示与筛选器不匹配的文件,但这些文件的文件名会灰显。如果筛选器缺失或为空,uigetfile
将使用默认文件类型列表(例如,所有 MATLAB 文件)。
示例
显示完整文件路径
显示在对话框中选择的文件的完整文件路径。使用 disp
和 fullfile
函数添加说明性文本并串联 path
和 file
输出值。
[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' 可以启用多选。用户可以通过按住 Shift 或 Ctrl 键并点击文件名来选择多个文件。
[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 工具箱中的各种输入和输出函数打开、读取或分析文件。例如下面列出的函数:
替代功能
使用 dir
函数可以返回当前文件夹或指定文件夹中已筛选或未筛选的文件列表。dir
函数还可以返回文件属性。
在 R2006a 之前推出
最新文章
- basic use of sidekiq (2)
- linux C之getchar()非阻塞方式
- sd_cms置顶新闻,背景颜色突击显示
- php——n维数组的遍历——递归
- javascript权威指南笔记--javascript语言核心(四)
- Mysql 系统参数 系统变量 状态变量
- [Hive - LanguageManual] Statistics in Hive
- hibernate连接数据库,进行操作的步骤
- windows下设置/删除Tomcat的开机自启动
- ZF-关于海南的增删改需求
- ASP.NET AJAX注册命名空间
- webpack2使用ch1-目录说明
- Qt msvc Modules
- 一句Python,一句R︱numpy、array——高级matrix
- [Swift]LeetCode381. O(1) 时间插入、删除和获取随机元素 - 允许重复 | Insert Delete GetRandom O(1) - Duplicates allowed
- 【原创】Linux基础之curl
- spider随机请求头和ip
- 内核驱动程序中如何读写user space的文件,方便调试程序
- Redis入门篇(安装与启动)
- Vue 组件&;组件之间的通信 之 template模板引用与动态组件的使用