chu_qiu 发表于 2006-9-14 22:01

点Listbox中的某一项要用什么来促发?

我在Listbox中列出了许多图片的名称,现在想实现如下功能:点击某一个名称,则让该图像在边上的axes上显示。请问我该用什么事件?我试着把代码写在ButtonDownFcn下,:@P,不行的。请高手指教!

function listbox1_ButtonDownFcn(hObject, eventdata, handles)
% hObject    handle to listbox1 (see GCBO)
% eventdatareserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

%确定listbox选择的是那一项目
vlist=get(handles.listbox1, 'value' ); % 获得选项位置向量
axes(handles.axes2);       %指定为当前操作的axes
cd(lib_directory_name);
my=imread(picturename(sort(1,vlist)).name);
imshow(my);

eight 发表于 2006-9-14 22:29

原帖由 chu_qiu 于 2006-9-14 22:01 发表
我在Listbox中列出了许多图片的名称,现在想实现如下功能:点击某一个名称,则让该图像在边上的axes上显示。请问我该用什么事件?我试着把代码写在ButtonDownFcn下,:@P,不行的。请高手指教!

function listb ...


用callback响应函数,具体参见提示:

function listbox1_Callback(hObject, eventdata, handles)
% hObject    handle to listbox1 (see GCBO)
% eventdatareserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = get(hObject,'String') returns listbox1 contents as cell array
%      contents{get(hObject,'Value')} returns selected item from listbox1

mulan 发表于 2006-12-19 22:18

我试过了callback响应函数,确实可以实现,但是必须在listbox上单击一下,value值才会更新,只点击上拉下拉的三角不会更新,这不是很麻烦吗?怎么解决?
页: [1]
查看完整版本: 点Listbox中的某一项要用什么来促发?