为了满足高级绘图的需求,在Qt中支持OpenGL接口和矢量图形格式SVG。使用OpenGL可以完成3D绘图,SVG模块则可以绘制XML格式的矢量图形SVG。Qt还支持直接操作显存的QGLFramebufferObject对象。
1、OpenGL是最开始在SGI公司推出的3D绘图编程接口,OpenGL具有绘制三维图形的各种函数,但不包括窗口系统或处理用户输入的函数。为了在Qt中使用OpenGL,Qt提供了OpenGL模块。在Qt中使用OpenGL的途径是使用QGLWidget(在qt5中用QOpenGLWidget代替)类,并使用OpenGL API进行绘图。要在QT程序中使用OpenGL API,需要包括头文件:
<pre name="code" class="cpp">#include<QtOpenGL>
同时在qmake的工程中加入
<pre name="code" class="cpp">QT += opengl
2、创建OpenGL窗口
创建OpenGL应用程序通常要从QGLWidget类继承出自己的类。QGLWidget类从Qwidget类继承,提供了在Qt应用程序中显示OpenGL图形的能力。QGLWidget类提供了三个虚函数完成openGL的绘图任务,