在制作GUI过程中会出现一种功能需求,就是读取文件, 比如选取图片文件,测试文件,Excel文件,等等
今天聊一聊3种MATLAB GUI读取文件的方法
1. 输入框
最容易想到的是,在GUI界面做一个输入框,然后把目标文件的路径复制进去,然后无论是通过输入框的callback,还是通过另外的其他按钮,就可以去加载文件路径了
这种方式很容易实现,在GUIDE或者APP中选择edit控件即可,也可以通过uicontrol的方式创建编辑框
uicontrol('Style','Edit')
2. 文件选取框
输入框加载文件的方式,出现的一个问题是,GUI界面不太好看,控件布置的空间需求比较大。
所以,可以考虑第二种方式,文件选取框
创建一个按钮,在按钮的callback中使用uigetfile函数,就可以实现文件选取的功能了。
不过,文件选取框一个非常明显的问题是,当文件非常多的情况下,找文件很费时间。
3. 文件拖拽
平常大家经常能看到一种选取文件的方式是,把文件拖入到软件中,文件就会自动被读取或者打开。
这种方式在MATLAB GUI中也是可以实现的。
不过GUI中自带的控件是没有这种属性的,所以用GUIDE或者APP的形式是没办法实现这个功能,需要用脚本的方式。
Java可以实现文件拖拽监听的功能,而MATLAB GUI是可以调用Java
就很容易想到实现的逻辑,在GUI中调用Java Swing,创建JButton控件,同时在定义文件拖拽监听的功能
在文件拖拽选取之后,可以直接获得文件的路径,甚至可以在这个callback的基础上再进行功能的拓展。
|