wgun 发表于 2013-3-13 12:19

关于listbox显示问题,最多只能选择9个文件显示

本帖最后由 wgun 于 2013-3-13 13:05 编辑

这是我的部分程序:
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
%set(handles.listbox1,'String',handles.efile);

=size(handles.efile);   %handles.efile是在uigetfile里选择的文件名,是一个元胞数组
for ni=1:a
ab(ni)=ni;
end
=size(ab);
for mi=1:d
    aa(mi)=num2str(ab(mi));
end
ac=num2cell(aa)';
acc=strcat(ac,handles.efile);
set(handles.listbox1,'String',acc);

我想把我选择的文件名和索引号显示在listbox里面,
1 file1
2 file2
3 file3
。。。。。。
我选择1-9个文件名没问题,但是选择大于9个文件名时就报错:

??? In an assignmentA(:) = B, the number of elements in A and B
must be the same.

Error in ==> <a href="error:E:\ningwu\MT\w2\mtgui\mtgui.m,371,1">mtgui>listbox1_Callback at 371</a>
    aa(mi)=num2str(ab(mi));

Error in ==> <a href="error:D:\MATLAB7\toolbox\matlab\uitools\gui_mainfcn.m,75,1">gui_mainfcn at 75</a>
      feval(varargin{:});

Error in ==> <a href="error:E:\ningwu\MT\w2\mtgui\mtgui.m,44,1">mtgui at 44</a>
    gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.
请问这是什么原因?也num2str这个函数有关系吗?

ChaChing 发表于 2013-3-13 20:48

由报错猜应该与LZ另一发帖相同原因
Ref:
13F, 2.常见的程序出错问题整理 http://forum.vibunion.com/thread-46001-1-1.html
From http://home.vibunion.com/blog-63979-18250.html

wgun 发表于 2013-3-13 21:26

本帖最后由 wgun 于 2013-3-13 21:29 编辑

ChaChing 发表于 2013-3-13 20:48 http://forum.vibunion.com/thread ...
我想把我选择的文件名和索引号显示在listbox里面,
1 file1
2 file2
3 file3

请问这个功能怎么实现啊?我是想把文件索引号转成字符串,然后与文件名合并,然后显示在listbox中


ChaChing 发表于 2013-3-13 22:51

没太多细看, 建议考虑使用cell
页: [1]
查看完整版本: 关于listbox显示问题,最多只能选择9个文件显示