创建多行'字符串'在GUI的静态文本中

时间:2014-05-20 12:26:37

标签: matlab user-interface multiline matlab-guide

我在GUI中有一个静态文本,需要编写如下内容:

y1 = A[1]
y2 = A[2]
y3 = A[3]

等。 (有一定的限制,现在这并不重要)。

y1, y2, y3 字符串A[1], A[2], A[3] 数字在矩阵A中。

我只是不确定如何在静态文本中输入新行,这意味着我不确定如何从y1转到y2

我知道这个问题在互联网上有很多答案,但由于某些原因我无法找到符合我需求的答案。

我该怎么做?

谢谢。

1 个答案:

答案 0 :(得分:0)

确保static-text拉伸到足以容纳那些多行文字。这是A中包含一些示例值的演示。诀窍是使用Nx1 cell array,每个单元代表每个这样的赋值文本。代码必须明确 -

A = [4 9 22 29 34 47 56 78 100]; %// Assumed as a vector for demo

cellstrg = cell(numel(A),1);
for k = 1:numel(A)
    cellstrg(k) = {['y',num2str(k),' = ' ,num2str(A(k))]};
end
set(handles.text1,'String',cellstrg) %// handles.text1 is tag to that static text

你可以避免使用cellfun方法的for循环,这可能效率不高,但只是简单的方法来实现同样的目的 -

cellstrg = strcat('y',cellstr(num2str([1:numel(A)]')),'=',strtrim(cellstr(num2str(A'))))

GUI上的输出 -

enter image description here