MATLAB GUI:如何在文本框为空时关闭按钮?.....还有,如何在打开错误的文件类型时生成错误消息?

时间:2013-11-22 16:42:10

标签: windows matlab wav

我正在Matlab中制作一个GUI(我是这个的新手),我被困在两件事上:

1)我想阻止用户选择.wav以外的文件类型。我设法让打开的对话框只显示.wav文件,但这并不会阻止他们选择所有文件并打开另一种文件类型。这打破了我的其余GUI。我怎么能防范这个?

2)当某个文本框为空时,我想阻止我的“计算”按钮被选中。我怎样才能做到这一点?我尝试了以下但它似乎不起作用:

p = get(handles.textbox,'String'); 
    if isempty(p)
         set(handles.compute, 'enable', 'off');
    else
         set(handles.compute, 'enable', 'on');
    end

我真的很感激一些帮助。

非常感谢

祝你好运

1 个答案:

答案 0 :(得分:0)

1)如果文件类型没有扩展名“.wav”,您可以抛出错误并重置选择。使用fileparts命令检查文件扩展名。

2)确保(a)如果文本框开始为空,则按钮以“启用”设置为“关闭”开始,(b)测试文本框的逻辑位于文本框的回调内。如果您从其他函数设置文本框的内容,则通常不会调用文本框的回调。在这种情况下,您应该在设置文本框的字符串后手动调用其他函数中的文本框回调,如:

set(handles.textbox, 'string', 'some_file.wav');
textbox_Callback(handles.textbox, eventdata, handles);