日志
OpenGL的引入
2013-08-17 20:24
OpenGL的引入
需加入的头文件:#include<QGLWidget> 并在.pro文件中加入:QT += opengl ·使用基本方法 QGLWidget派生自Qwidget,故绝大多数情况下QGLWidget可以像QWidget一样使用,只是使用OpenGL的函数替代QPainter实现绘制。通常通过子类化QGLWidget来实现OpenGL的使用, QGLWidget提供了三个虚函数用以重载来实现OpenGL的绘制: ·paintGL() ·窗口绘制函数,相当于paintEvent(),但QGLWidget依旧有自己的paintEvent()。 ·paintGL()只在需要重绘时被调用,即调用updateGL()时被调用 ·在此使用OpenGL中的函数进行场景绘制,部分函数实际是QGLWidget的函数成员 ·resizeGL() ·第一次调用paintGL()之前initializeGL()之后调用resizeGL()函数,窗口大小发生改变时也会调用该函数 ·在此设置视口,投影和其它与窗口部件尺寸相关的设置 ·initializeGL() ·相当于注册函数,在调用paintGL()之前只被调用一次 ·在此初始化GL环境:设置场景全局的属性,绘图描述表,定义显示列表,执行其它的初始化 此外 ·updateGL() ·更新场景,通知调用paintGL(),在任何改变场景后调用,但自身不用实现。 ·交互控制 ·鼠标和键盘事件可通过mousePressEvent()和keyPressEvent()进行处理,与QWidget相同。要创建动画,只需启动QTimer,然后调用updateGL()。 |
下一篇: opengl 中常用画正方体的方法
上一篇: QLineEdit 只输入数字的设置