- get what's in the listbox
- add the new entry to the list
- set the entire list
Best way to handle work log listbox output in GUI?
2 次查看(过去 30 天)
显示 更早的评论
Hello, thanks for reading this,
What I want to do is set up a listbox that outputs a work log of what I do in the GUI. What I do is output strings to the listbox whenever I do a certain task. My problem is whenever I output a string, it overrides what was already there.
What I do is set the handle for the listbox to a string value whenever I output a new string using set(handles.listbox, ...), and I know this is the problem because I'm continually setting the listbox to a new value. My issue is I don't know how to dynamically add to it without deleting what was already there, it seems wasteful to continually delete and populate it.
What I was thinking of doing is adding to a continually existing string, or concatenate several strings into a longer one using cells. I would still be continuously deleting and populating it, but I wouldn't know how else to do it. Is this the best way, or is there something better to do I'm not understanding?
0 个评论
采纳的回答
per isakson
2014-5-14
编辑:per isakson
2014-5-14
"it overrides what was already there" that's the way Matlab works. You need to
Example:
figure
lbh = uicontrol( 'Style', 'Listbox', 'String', {'line1','line2'} );
str = get( lbh, 'String' );
str = cat( 1, {'new line'}, str );
set( lbh, 'String', str )
str{end+1} = 'bottom line';
set( lbh, 'String', str )
3 个评论
per isakson
2014-5-14
编辑:per isakson
2014-5-14
I find it most convenient to use a cell array of strings as in the example I added to my answer.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!