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,并设置max
和min
属性使得max-min > 1
。然后 uicontrol 允许多行编辑,因此可以使用sprintf('a line\nan other line')
设置字符串属性。问题是它仍然是一个可编辑的 uicontrol(文本可以修改)。我看到的唯一解决方法是将enable
属性切换为off
,但这将使字体呈现灰色,无论foregroundcolor
属性如何,并且取决于背景颜色,您的文本可能很难看到.
第二:如果您限制 uicontrol 以适合您的文本,您可以将文本放在多行上(请参阅帮助中的 constraints
和 createConstraints
);我不知道这样的任务的难度,但这是可能的。
【讨论】:
【参考方案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的主要内容,如果未能解决你的问题,请参考以下文章