![]() |
在MATLAB GUI用户控件中处理回车/换行
我有一个正在开发的MATLAB程序,用于做一些图像处理工作,并且需要使用用户控件进入我临时创建的MATLAB GUI用户界面中。
此用户控件是一个List Box ,我想在其中插入一些文本。好吧,问题不在于我不能在此处放置文本,我可以使用此调用来做到这一点: set(handles.mylistbox, 'String', 'MyStringToPrint'); 很好的问题是,此调用不允许我在列表框中插入很多行,而只是覆盖上一行。 我希望找到一种方法让我的代码在新行中插入新文本。这不应该那么困难,并且它也是一个简单的模式: texttoprint = 'My text to add' oldtext = get(handles.MyListBox, 'String') %Holding the previous text here set(handles.MyListBox, 'String', [oldtext '\n' texttoprint]) %Setting (no line feed printed) set(handles.MyListBox, 'String', [oldtext char(10) texttoprint]) %Setting (this fails too) 好吧,它还没有出现任何错误,但\n不起作用。我没有任何新线...但必须!! 我该如何解决?问题是我需要在此用户控件中而不是在MATLAB命令行上打印文本(这很简单,只需执行sprintf() )。 该怎么办?谢谢 [B]回答:[/B] 对于列表框,将字符串属性设置为单元格 set(myListboxHandle,'String',{'myFirstLine';'mySecondLine'}) 如果要添加另一行,请致电 contents = get(myListboxHandle,'String'); set(myListboxHandle,[contents;{'another line'}]) 否则,对于GUI中的多行文本,请使用char(10)而不是\n ,即 set(someUiControlHandle,'String',sprintf('my first line%smy second line',char(10))) [url=https://stackoverflow.com/questions/5035271]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 03:06。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.