matlab popupmenu回调从未调用过

时间:2012-08-01 14:07:29

标签: matlab user-interface popupmenu

我的matlab gui中有一个名为listBitDepth的弹出菜单。

我使用

填充值
bitDepthStr{1}= ' auto detect  '; mapBitDepthToListIndex(1) = 0;
bitDepthStr{2}= ' 8 bit   (256)'; mapBitDepthToListIndex(2) = 8;
bitDepthStr{3}= '10 bit  (1024)'; mapBitDepthToListIndex(3) = 10;
bitDepthStr{4}= '12 bit  (4096)'; mapBitDepthToListIndex(4) = 12;
bitDepthStr{5}= '14 bit (16384)'; mapBitDepthToListIndex(5) = 14;
bitDepthStr{6}= '16 bit (65536)'; mapBitDepthToListIndex(6) = 16;
set(handles.listBitDepth,'String',bitDepthStr); 
set(handles.listBitDepth,'value',1); 

有效。

我有一个回调函数

function listBitDepth_Callback(hObject, eventdata, handles)
val = get(hObject,'Value')
...

但如果我从弹出菜单的列表中选择一个项目,则不会调用它。

为什么?

1 个答案:

答案 0 :(得分:1)

如果在设置代码行后运行到断点后运行以下命令会得到什么(handles.listBitDepth,'value',1); ?

get(handles.listBitDepth,'callback')

您应该看到:

ans =

@(hObject,eventdata)popuptest('listBitDepth_Callback',hObject,eventdata,guidata(hObject))