0

我的 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')
...

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

为什么?

4

1 回答 1

1

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

get(handles.listBitDepth,'callback')

你应该看到:

答案=

@(hObject,eventdata)popuptest('listBitDepth_Callback',hObject,eventdata,guidata(hObject))
于 2012-08-02T18:42:55.297 回答