我正在尝试制作一个 GUI,您必须在其中完成许多编辑文本项,并且在每个编辑文本的回调中,我必须检查引入的值/值是否良好。如果一个值不正确,错误消息将通知用户什么是错误的。此外,如果编辑文本中的值不好,用户不应该能够移动到另一个编辑文本。我尝试了许多解决方案,但没有一个完全符合我的要求。在下一个代码中,问题是允许用户转到另一个 uicontrol,如果我不引入任何值,它不会考虑字符串为空。如果可以的话请帮忙。肿瘤坏死因子
function edit_keyboard_Callback(hObject, eventdata, handles)
% hObject handle to edit_keyboard (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit_keyboard as text
% str2double(get(hObject,'String')) returns contents of edit_keyboard as a double
global matrix
global input_method
if input_method == 1
matrixString = get(hObject,'String');
[lines colums] = size(matrixString);
k=1;
if isempty(get(hObject,'String'))
msg = msgbox(['Complete A'],'Empty !','warn')
return;
else
for i=1:lines
temp = explodeString(matrixString(i,:),' ')
cl = length(temp)
for j=1:cl
[num flag] = str2num(char(temp(j)));
if flag~=1
msg = msgbox(['Error in line ' num2str(j) ', colum ' num2str(i) ' , input a number! '],'Not a number!','warn')
return;
else
matrix(i,j) = num;
end
end
end
end
end