它可能与“我的程序代码如何通过各种Qt5绘画系统转换到屏幕设备上的GUI的方式一样”?
由于Qt支持各种平台,因此我的问题仅基于Linux和嵌入式Linux(因为它们都是开源os,并且在绘画方面也有所不同:-))?
我的问题集中在以下主题上:
是QWidget
吗 QGraphicsItem
?Rectangle
(在QML中)绘画系统不同?还有,这是什么?
哪个不使用QPainter
?QPaintEngine
?类?
Qt4.8(或Qt5)中实现了多少个绘画引擎?例如,QRasterPaintEngine
。
如果平台是Linux(支持X11),Qt会使用X11 API绘画吗?那么,X11的Paint Engine和之间有什么区别QRasterPaintEngine
?如果平台还支持OpenGL,那么Qt将使用X11 API还是OpenGL API?
如果GPU支持OpenGL,则Qt可以使用OpenGL;否则,Qt可以使用OpenGL。但是如果GPU不支持OpenGL,那么Qt如何处理这种情况?
您的问题非常广泛,其中大部分都可以在 Qt QPaintEngine 文档中找到答案:
https://doc.qt.io/qt-5/qpaintengine.html
QPaintEngine 类提供了 QPainter 如何在给定平台上绘制给定设备的抽象定义。Qt 4.0 为我们支持的不同画家后端提供了几种预制的 QPaintEngine 实现。我们为我们支持的每个窗口系统和绘画框架提供一个绘画引擎。这包括 Unix/Linux 上的 X11 和 Mac OS X 上的 CoreGraphics。此外,我们还提供 OpenGL(可通过 QGLWidget 访问)和 PostScript(可通过 X11 上的 QPSPrinter 访问)的 QPaintEngine 实现。此外,还有一个基于光栅的绘画引擎,当引擎不支持某种功能时,可以作为后备。
归档时间: |
|
查看次数: |
2219 次 |
最近记录: |