Scilab 多行文本 uicontrol

Posted

技术标签:

【中文标题】Scilab 多行文本 uicontrol【英文标题】:Scilab multiple lines text uicontrol 【发布时间】:2017-02-14 23:23:12 【问题描述】:

我正在尝试显示多行文本,但在 Scilab 中无法获得该文本的语法。我已经尝试使用“|”和“\n”。

任何人都可以更改以下代码以支持字符串上的多行“Informacoes sobre o programa e como usa-lo”

handles.textoTutorial=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.5014641,0.0514019,0.3989751,0.8987539],'Relief','default','SliderStep',[0.01,0.1],'String','Informacoes sobre o programa e como usa-lo','Style','text','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','textoTutorial','Callback','')

谢谢。

【问题讨论】:

【参考方案1】:

您不能将多行或字符串向量传递给text uicontrol:这将给出错误 (Scilab 5.5.1):Wrong dimension of property 'String' : expecting a string.

但我会给你两个丑陋的答案:

首先:使用edit 样式的uicontrol,并设置maxmin 属性使得max-min > 1。然后 uicontrol 允许多行编辑,因此可以使用sprintf('a line\nan other line') 设置字符串属性。问题是它仍然是一个可编辑的 uicontrol(文本可以修改)。我看到的唯一解决方法是将enable 属性切换为off,但这将使字体呈现灰色,无论foregroundcolor 属性如何,并且取决于背景颜色,您的文本可能很难看到.

第二:如果您限制 uicontrol 以适合您的文本,您可以将文本放在多行上(请参阅帮助中的 constraintscreateConstraints);我不知道这样的任务的难度,但这是可能的。

【讨论】:

【参考方案2】:

这是一个例子(有奖励:-):

clf
text = "<html><font color=""red"">Informacoes sobre o programa e como usa-lo</font><br>"+..
       "Line #2<br>" + ..
       "Line #3<br>" + ..
       "etc…";
uicontrol("style","text","string",text, 'Position',[0.501,0.05,0.4,0.9],'unit','normalized')

它产生

【讨论】:

以上是关于Scilab 多行文本 uicontrol的主要内容,如果未能解决你的问题,请参考以下文章

Scilab“打印”指令的问题

Scilab:为曲面图添加图例

Scilab中浮点计算的精度是多少?

Scilab - 如何在具有原始符号的矩阵中获得最大绝对值?

Scilab中按密度着色的散点图

Scilab 的画图函数