![](https://csdnimg.cn/release/download_crawler_static/2493133/bg4.jpg)
Qt
Qt 是用于桌面系统和嵌入式开发的跨平台应用程序框架,包括直观的 API 和丰富 C++ 类库、用于 GUI 开发和
国际化的集成工具,支持使用 Java™ 和 C++ 语言进行开发。
Qt
QPain
er 和 QG
a
hicsView API
2D
形
了
。
,Q
OpenGL
3D
图形。在以下章节中对这些技术一一进行详细说明。
级可视
方
在本章节中,我们会详述 Qt 所提供的用于简化高级可视化应用程序开发的技术。
2D
形:QPainter
QPainter 提供了一个全面的 2D 绘图框架。除了渲染多边形、绘图路径、访射和非访射变形体这些基本功能之外,
还支持平滑处理、渐变画刷和 alpha 混合。使用 QPainter 实在是太方便了:
void Widget::paintEvent(QPaintEvent *event)
{
}
QPainter painter(this);
painter.setBrush(Qt::red);
painter.drawRect(rect());
// create a pen from any brush!
painter.setPen(QPen(QBrush(“texture.png”), 1);
painter.drawLine(10, 30, 40, 503);
QPain
er 可
于
Q
aintDevice,
widge
(QWi
get)、
(QImage)、
(QPrinter) 和
(QPixmap)。请注意,QPainter 只是用于 2D 渲染的 API。实际绘图是通过应用了 QPaintEngine 的后台程序完成
的。Qt 提供了绘图引擎,可使用 Raster Graphics (Windows)、XRender (X11)、 OpenGL(所有平台) 和 PDF(所
有平台)。也就是说,上述的 painter.drawLine() 函数调用会自动转换为 OpenGL 命令或 PDF 命令,只需为
QPainter 提供合适的绘图引擎和采用支持该引擎的 QPaintDevice。我们将在后续章节中了解如何使用 QPainter 通
过 OpenGL 绘制加速的 2D 图形。
2D
景图形:
Qt
Graphics
View
Qt Graphics View 提供了 2D 场景图形 API。它带有高级 API,用于在场景中放置对象(形体)并在多个视图
中显示该场景。Graphics View 的优势就在于它为解决复杂难题提供了简单的 API。
要开
G
aphics View,只
QGraphicsI
ems(形
)
QGraphicsScene(
)。
后,
可
以使用 QGraphicsView(视图)可视化呈现该场景。
© 2008 诺基亚公司和/或其附属公司。-使用 Qt 和 OpenGL® 创建跨平台可视化 UI -3
白皮书