[已答复] GUI参数重置

[复制链接]
hyr 发表于 2010-9-6 23:32:01
在GUI中我要用另外一个pushbutton对一个编辑框显示的内容实际上是一个数进行重置。我直接用set(handles.edit,'String',0),但是提示??? Invalid handle object. 在edit的callback中我已经guidata(hObject,handles);。请问这是怎么回事,谢谢

5 条回复


blandly 发表于 2010-9-7 07:55:39
在同一個介面下 ~不需要使用到 guidata(hObject,handles);
而且就算要使用,本身用法就錯誤

hObject = 該觸發事件的物件句炳值
所以您從視窗處發事件中複製 guidata(hObject,handles);
這是錯誤的~因為這時候的 hObject 已經不是事窗句炳

另外一個問題
set(handles.edit,'String',0)
一搬來說句炳應該是      handles + 物件的 tag
且自動命名都是 edit1 edit2 ~~edit100....
不過您卻是  handles.edit 應該是導致錯誤的原因

備注:
edit 的 string 屬性她只接受字符
所以傳送給他的 0 會自動轉成相對應編碼地字符
而非轉成 0
建議使用 set(handles.edit1,'String','')

hyr 发表于 2010-9-7 21:00:16

回复 2# blandly 的帖子

谢谢,edit的名字是我自己命名的是对的。就是没看懂你前一部分说的内容。如何在set的callback中对另外一个callback操作呢。
我的程序如下:function reset_embed1_Callback(hObject, eventdata, handles)
% hObject    handle to reset_embed1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
set(handles.text15,'String',0);
set(handles.key_character,'String',0);%就是这一句怎么改呢

function key_character_Callback(hObject, eventdata, handles)
% hObject    handle to key_character (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 key_character as text
%        str2double(get(hObject,'String')) returns contents of key_character as a double
key_character=str2double(get(hObject,'String'));
handles.key_character=key_character;
guidata(hObject,handles);
if isnan(key_character)
    set(hObject, 'String', 0);
    errordlg('Input must be a number','Error');
end


谢谢

blandly 发表于 2010-9-7 21:31:34
這句話改成
guidata(handles.figure1,handles);

就是將 hObject 改成是窗句炳就可以了
不管怎樣~上面那句話一定要是視窗句炳

hyr 发表于 2010-9-7 22:20:40

回复 4# blandly 的帖子

我把set(handles.key_character,'String',0);改为guidata(handles.figure1,handles);也不行啊。guidata(hObject,handles);改为guidata(handles.figure1,handles);也不行。在reset_embed1_Callback中应该要有set函数吧,它里面的参数怎么写呢

blandly 发表于 2010-9-8 01:04:36
給您一個觀念
guide 所建立的 handles
只是記錄物件的句炳,並不能直接修改物件句炳

您在 key_character_Callback
去修改 key_character 的句炳值,這是無意義的,只會導致句炳直無效
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表