2013-11-29 91 views
0

如何在此程序中显示在随机引擎中生成的字符串数组而不是“第一行”?在MATLAB GUI中显示字符串

“状态= { '第一线',... '二线',......

   'Third line', ... 
       'Fourth line'}; 

    h = dialog('WindowStyle', 'normal', ... 
     'Name', 'Randomised Devices', ... 
     'Position', [100, 200, 350, 500]); 

    uicontrol(h,... 
     'Style', 'edit', ... 
     'Units', 'normalized', ... 
     'Position',[0.01 0.01 0.99 0.99], ... 
     'BackgroundColor', [1 1 1], ... 
     'Min', 1, ... 
     'Max', 1000, ... 
     'HorizontalAlignment', 'left', ... 
     'String', status); 

回答

1

如果你只是想要去的显示单元,你可以使用

cell2str(status) 

eg

[...] 'String', cell2str(status)); 

对于更复杂的显示,您可能需要填写“\ n”才能执行换行符,例如:如果你想每个单元放置在文本框中的新行:

statusstr = sprintf('%s\n',status{:}) 

(参见http://www.mathworks.com/matlabcentral/answers/21308

+0

它给出了一个错误。 类型为'java.lang.String []'的输入参数的未定义函数'str2cell'。 错误在SMERCGUI> pushbutton1_Callback(line 286) status = {str2cell(results2)}; @pyStarter – MAV

+0

根据您的Matlab版本,函数cell2str(不是str2cell)可能不包括在内。你可以从http://www.mathworks.com/matlabcentral/fileexchange/13999-cell2str – fuesika

+0

检索它我使用R2012b,所以我认为功能cell2str已经包含,我想你没有清楚我的问题。 我在代码中的前一个操作中连接了几个字符串,我想显示它而不是'First Line ...'Second'..)。那么你能让我知道这将如何工作? 当我试图替换status =(loads1)时,它显示一个空白的GUI。 PS:我是GUI编程新手,需要紧急帮助。 @Andrew Barber – MAV