|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ B" d2 }. }: j$ N9 m
MATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!
, W8 N# K) _- R: s6 z% p
* z# o% _) Y) h1 l7 Q# nJava Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。
6 w3 j& n) I0 D' D1 J# }
| A9 O. F8 f比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)
5 }8 p6 L; u2 }9 ^9 r. Q( b- uicontrol('Style','list',...
- 'Position',[10,10,70,70],...
- 'String', ...
- {'<html><font color="red">Hello</font></html>',... % font
- 'world',... % 正常文本
- '<html><font style="font-family:impact;color:green"><i>What a</i></font></html>',... % font和i
- '<html><font color="blue" face="Comic Sans MS">nice day!</font></html>'}); % font0 N& T" s3 O* X! o$ s
& b4 |% J) r0 A/ x. n1 U
9 M8 D5 I4 C2 g J# P
# h& _/ V, C2 a1 y- r
( f; [" Z( Y. Z& X Y另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性/ {& a7 L+ Z( t; W7 n" y6 l
- uicontrol('Style','popup',...
- 'Position',[10,10,150,100],...
- 'String', ...
- {'<html><body bgcolor="green">green background</body></html>', ...
- '<html><font color="red" size="+2">Large red font</font></html>', ...
- '<html><body bgcolor="#FF00FF">< PRE>fixed-width font'}); % html代码不关闭也是可以的,但是不推荐5 E3 Y, v( `9 R0 X$ V; k7 `
" M) b; L- W) a
4 S. g k+ I; l4 E/ [
: v L% Q$ h: P W5 \9 o
) O8 r4 L) o. L# z0 J- m
$ c- w+ A: H9 z( M$ q* z; Y
3 E' G! w) ~! u% H9 N
1 Q L/ L$ J+ C6 ?看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下( q9 g0 J5 C6 r' r, U( q/ u
- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')
- P3 {3 w' ?- m. R , ]: y/ @+ }* j0 U$ |
8 @5 C# a$ \: Z) r
可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?
5 h2 M, D* m* j3 p6 ?& K0 x R8 a: h* t
3 ]. B7 @8 W( Z2 F1 K$ P6 v# Q
+ `( i; Y2 A* \' F5 [! J
就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!
) c5 u* j" S/ J" x: s+ m% b% u& Z8 p) [# {7 N% ~
|
|