我正在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
我真的很感激一些帮助。
非常感谢
祝你好运
答案 0 :(得分:0)
1)如果文件类型没有扩展名“.wav”,您可以抛出错误并重置选择。使用fileparts
命令检查文件扩展名。
2)确保(a)如果文本框开始为空,则按钮以“启用”设置为“关闭”开始,(b)测试文本框的逻辑位于文本框的回调内。如果您从其他函数设置文本框的内容,则通常不会调用文本框的回调。在这种情况下,您应该在设置文本框的字符串后手动调用其他函数中的文本框回调,如:
set(handles.textbox, 'string', 'some_file.wav');
textbox_Callback(handles.textbox, eventdata, handles);