|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
! w; ~, S" p/ W: j
MATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!$ L9 U- r7 t8 i; |5 J4 t) ^
4 b& g2 n; I9 w, C1 g2 YJava Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。+ z" k6 O# |" R# U* ]4 X
/ ^) R: d0 E- E5 h7 V
比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)
" T" Q- O4 [. y' |2 v& b! V- 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>'}); % font" Q& D) h! f- X! z
7 g$ Z) x8 a2 v
# x. m3 C: C, W- H
4 q; N1 z" R& S) Z9 b" _. ^
3 {) V: |- I- H+ E
另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性
' s3 m4 J& Q! B% U6 N7 v7 U- 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代码不关闭也是可以的,但是不推荐
+ s) O) U. B% T) g4 h
. p. {- i) W7 ~& A7 n; H0 Q& o4 ^/ v6 w Y( n$ n
$ p+ {/ g1 n+ _
. c4 Y( J: c) |5 S1 \% t; Y7 v6 \0 _ }$ j4 R, J
5 m# ]# f8 P7 I% X* x0 U5 e7 t3 j8 [# a1 M. D+ ]# d- f$ `- T
看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下
+ R1 ~' m( \( L6 h- uicontrol('Style','text',... % 注意是text,静态文本框哦
- 'Position',[10,10,200,50],...
- 'String', '<html><font color="red">我是中国人</font></html>')
; d+ F; |' d7 n
- G) ~7 G' F: q: h. I# z" S' t0 `& V; Q" a* [
可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?
2 A, {. S5 b, G X( O! d. h
4 N4 C N$ L1 k
% |" x& r6 \3 e2 C6 j8 @( W' x9 I- D/ T1 i$ u
就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!8 H. q& u: U S+ e+ V' b# ^7 ]
. b7 c+ A8 F+ d E |
|