void GLWidget::keyPressEvent(QKeyEvent *e)
{
switch(e->key())
{
//F1键为全屏和普通屏显示切换键
case Qt::Key_F1:
fullscreen = !fullscreen;
if(fullscreen)
showFullScreen();
else
{
setGeometry(300, 150, 640, 480);
showNormal();
}
updateGL();
break;
//Ese为退出程序键
case Qt::Key_Escape:
close();
}
}
1 在Qt中绘制OpenGL通常需要做以下工作:
(1) 必须子类化QGLWidget
(2) 实现几个虚函数:void initiallizeGL()
void resizeGL()
void paintGL()
这些都是在QGLWidget中实现的,还有一些和用户交互的虚函数,诸如 void mouseMoveEvent() 之类的,想必大家都比较熟了,这些虚函数是在Widget中实现的。
下面我们介绍一个例子。
4 Qt5怎样使用OpenGL? ***** ** !!