Matlab简易GUI界面

运行命令guide,打开GUI界面编辑器,通过左侧选项添加各种界面组件,如按钮、文本框等,双击组件弹出组件属性编辑框,可以定义按钮等文本内容、字号、颜色以及回调函数等。

对于按钮的点击所触发的回调函数,双击按钮属性编辑框的callback选项,自动弹出组件的回调函数,可以编写如文件夹路径选择,显示文件路径等功能。

其中关于界面组件的传参,比如静态文本的字符串传参,可以用以下命令完成

set(handles.text9,'string',pathName,'fontsize',15);
pathName = get(handles.text9,'string');

其中要注意变量是字符形式,有时可能需要进行转换,其它的如按钮、编辑文本框等可类似操作,handles是界面句柄,通过handles.(...)可以调用界面下的组件。而且需要注意,在执行循环时动态显示文本,有时可能会发现只显示最后循环结束时的文本,中间过程时不会动态显示,这时只需要加上pause(0)即可刷新。

pat1='(?<=/)[0-9]{1,2}(?=/)';
pat2='(?<=/)[0-9]{1,2}(?!/)';
处理带有'/'的日期的正则表达式,(?=)为正向肯定预查,(?<=)为反向肯定预查,(?!)为正向否定预查,(?<!)为反向否定预查。

以下是文件夹选择功能的实现,选定了文件后返回的文件路径是元胞格式,用xlsread命令读取时需要写成pathname{:}才可运行。

function [pathname] = gui2(start_path, dialog_title)
% uigetdir2
% Pick multiple directories and/or files
import javax.swing.JFileChooser;
if nargin == 0 || start_path == '' || start_path == 0 % Allow a null argument.
    start_path = pwd;
end
jchooser = javaObjectEDT('javax.swing.JFileChooser', start_path);
jchooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
if nargin > 1
    jchooser.setDialogTitle(dialog_title);
end
jchooser.setMultiSelectionEnabled(true);
status = jchooser.showOpenDialog([]);
if status == JFileChooser.APPROVE_OPTION
    jFile = jchooser.getSelectedFiles();
pathname{size(jFile, 1)}=[];
    for i=1:size(jFile, 1)
pathname{i} = char(jFile(i).getAbsolutePath);
end
elseif status == JFileChooser.CANCEL_OPTION
    pathname = [];
else
    error('Error occured while picking file.');
end





展开阅读全文

没有更多推荐了,返回首页