2013-11-29 92 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