找回密码
 注册
关于网站域名变更的通知
查看: 497|回复: 1
打印 上一主题 下一主题

在MATLAB控件uicontrol中支持HTML代码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-2-10 10:03 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
# E& [# l* D) @/ B; ]2 m
MATLAB GUI控件样式简陋,功能属性有限,这个的确是很失望的事情。MATLAB的UI是通过Java框架搭成的,Java Swing很强大,不知道MathWorks为什么非要将GUI搞得那么局限!% e3 z; G. q& E
4 a: |& x1 A; s$ j6 \" O* p
Java Swing中的JLabels组件一个通用特性就是全面支持HTML/CSS。因为MATLAB所有uicontrol都是衍生于Swing组件,所以uicontrol自动继承了Swing的html特性,比如font,size,color等。
6 L! [+ E5 R. ]9 q, r' r* Y
3 E# Q: R# L" p" r$ P% d; W0 a9 V/ A比如,创建一个多种颜色的MATLAB列表框(listbox的string属性)/ T% {2 P& Y. M+ r) a! Z3 _
  • 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
    7 k' e' I7 m: m$ {. {9 U. B

; z- |/ m7 N3 @' D
' d& [( |# a" A( u7 k; E
. Y" t- l/ n9 S, m2 y+ a" \3 E# N2 J/ N8 w! b2 K9 K
另外下拉菜单(popmenu的string属性,uimenu的label属性)和所有控件提示文本(tooltips属性)也支持HTML特性
" u  T0 q' R, J; X# 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代码不关闭也是可以的,但是不推荐% f& I7 g% x  k8 R" b2 l& n0 N) x

- |$ o) S; k8 R9 q; C5 v- v6 J- X$ _; W0 O3 K3 G' v% L1 E
( s4 F! M' Z% O* @/ p1 J
/ Y4 @& N- C8 ]4 H

( d+ N5 g2 @  a% e6 J
3 P5 `# Y% y' U3 X* Y. F- h! E% H* p  v0 h. M" f) b* g- z. O/ W
看着上面样式是不是觉得很炫呀?很多网友估计会很心动去尝试下9 d: N- ?8 \8 I) k# z- p$ c
  • uicontrol('Style','text',... % 注意是text,静态文本框哦
  •    'Position',[10,10,200,50],...
  •     'String', '<html><font color="red">我是中国人</font></html>')% s, c. ]  R( W. i+ V3 l) ?$ o- L

  N; n6 a% C, y2 z$ ~) Z- c, l( k7 a- `3 _5 s9 j
可是却是得到下面的样子,为什么会这样呢,没有得到我们预想的结果呢?% g9 U1 d0 _& e/ y$ k

+ U2 X. e$ I5 ^! U
! n5 N% ^) P# f8 Y. U3 T7 H
) n2 G9 g) d' j, ^就是这样的,您没有眼花,代码也没有写错,是因为静态文本框(text)控件本来就不支持html代码,它是特殊的控件,我们将在另外一个主题中进行详细分解!) e. C+ k; s, U- x* P. B6 u
0 I, v0 h+ a" @! _' F! n' T

该用户从未签到

2#
发表于 2020-2-10 18:49 | 只看该作者
在MATLAB控件uicontrol中支持HTML代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 23:18 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表