
这是一个使用向量图形绘制出来的部件。
一个绘图部件是使用基本的绘图图元来渲染出来的。渲染过程不是在服务器端做的,而是在浏览器端做的,根据不同的浏览器采用不同的渲染方法:
|
浏览器 |
方法 |
默认方法 |
|
Firefox 1.5+ |
HtmlCanvas, InlineSVG, PngImage |
HtmlCanvas |
|
Safari |
HtmlCanvas, InlineSVG, PngImage |
HtmlCanvas |
|
Opera |
InlineSVG, HtmlCanvas*, PngImage |
InlineSVG |
|
其它 |
? |
HtmlCanvas, PngImage |
* HtmlCanvas在Opera 中偶尔会出问题。
不同的渲染方法对应于不同的 WPaintDevice 实现,这个部件会根据浏览器的能力及配置选项来选择适当的实现。
如果当前无法使用JavaScript,则就不会使用基于JavaScript 的HtmlCanvas,而是使用InlineSVG。可使用 setPreferredMethod() 来改变要采用的方法。
在某些浏览器中,InlineSVG这个选项要求文档被渲染为XHTML。这一点,必须通过配置文件中的 <send-xhtml-mime-type> 选项来启用。默认情况下,这个选项是关闭状态。Firefox 4和Chrome都支持在普通的html 模式中使用svg。
PngImage是拥有最佳可移植性的渲染方法,并且,如果过程非常复杂同时/或者图片比较小的话,可能是速度最快的方式。
要使用WPaintedWidget,妳必须继承它,并且重载 paintEvent() 。要想在一个 WPaintDevice 上绘图,妳需要使用一个 WPainter 。重绘是通过调用 update() 方法来触发的。
不可以通过CSS 来进行样式设置。
注意 : WPaintedWidget 要求妳使用 resize() 来给它设置一个尺寸 ,或者使用布局管理器来设置尺寸。
参考 :
未知美人
HxLauncher: Launch Android applications by voice commands