学习QT已经有一段时间了,为了可以进一步的学习QT,并学习在QT在使用OpenGL。将定期按照Nehe的OpenGL教程,将功能在QT中全部实现。本博客发布的代码,在Window XP + Visual 2005 SP1 + QT 4.6.0编译通过。非常感谢Nehe对于本人学习OpenGL的帮助。
需要在QT中创建OpenGL应用程序,通常需要从QGLWidget类继承出自己的类。QGLWidget从QWidget派生,提供了在QT应用程序中显示OpenGL图形的能力。QGLWidget累提供了三个虚函数来完成OpenGL的绘图任务。initializeGL()完成OpenGL环境的初始化,paintGL()绘制OpenGL图形,resizeGL()在窗口发生改变时运行。以下代码利用此方法,在窗口中显示一个简单的山角形和五角星。
main.cpp
wglwidget.h
wglwidget.cpp
程序中,利用QTranslator安装翻译文件,为了可以讲QMessageBox弹出对话框中的Yes和No翻译为中文,至于具体做法,可参照本博客其他文章。本程序运行结果如下:
(图片上传功能暂时关闭,稍微补充)
图1.1 第一个OpenGL程序