|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 \* E7 R( x9 \) s' _MATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!& _) Q6 v8 I2 C0 F- ]1 `
; u( a4 m1 }2 r. p$ K1 c( ~5 G' F! b/ PJava Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。
# ] e3 t: A* K( N% |' W4 d3 l* W! d6 ` l( e
比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)
( \" b5 ? o( f4 x! L7 F9 {% P: e- 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>'}); % font2 F' \# z2 s) g! |0 F
+ Q9 x9 v0 O# ^
- j i |" n) D
& f T8 [( L9 o( P8 {( Y; j+ M, t, j9 G* |& {3 `# m8 d1 y
另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性0 s$ U e- H1 K" a: 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代码不关闭也是可以的,但是不推荐0 [# x$ g6 p$ y
. x7 L' Y; A: q6 D$ J3 I
5 V9 g6 I- v+ N& s
/ y( {) A1 o0 Q& J I/ \/ N6 n
/ I* ^ W9 ~. R C& F x' ]* e m
4 e! M3 z& r! C
2 k# K5 X1 I) p+ ^ i# _3 _. |
. U; j d8 C, w看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下
: B- P% O8 f5 i. D) D; h F- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')
9 O, O: H' }) M6 @2 J" { 0 h& @9 U$ u3 K% I! W( A$ j
" M3 V D. A0 Q6 K+ R9 i# i" [& }可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?1 D- v0 \' q! M
% \) c5 [- n# g- V, g
& J& V E$ i. h+ v( V7 Q2 M1 x3 j: Q
& f+ ?$ @9 P. H) F
就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!
4 t8 T4 z; u5 I1 |6 i6 L4 d$ ~1 P4 N- C
|
|