http://blog.sina.com.cn/s/blog_404dab3b0101f2e5.html
最近在使用Qt的OpenGL模块,可是不知道为什么老是提示出错(Qt版本是:4.7.0),我运行的是《C++ GUI Qt 4编程(第二版)》
Invalid parameter passed to C runtime function.
图片是:Qt使用OpenGL关闭出错
后来在网上查了各种资料也找不到到底是怎么回事,后来运行Qt自带的一OpenGL例子才发现可能是现在的版本不能在构造函数里设置:setFormat(QGLFormat(QGL::DoubleBuffer|QGL::DepthBuffer));只要这样设置就会在关闭程序的时候出错。所以只有在构造函数的初始化列表里传递参数设置,比如:
Tetrahedron:: Tetrahedron(QWidget *parent):QGLWidget( QGLFormat(QGL::DoubleBuffer|QGL::DepthBuffer),parent)
{
......
}
这样就不会在关闭程序的时候抛出错误Qt使用OpenGL关闭出错
Invalid parameter passed to C runtime function.
图片是:
后来在网上查了各种资料也找不到到底是怎么回事,后来运行Qt自带的一OpenGL例子才发现可能是现在的版本不能在构造函数里设置:setFormat(QGLFormat(QGL::DoubleBuffer|QGL::DepthBuffer));只要这样设置就会在关闭程序的时候出错。所以只有在构造函数的初始化列表里传递参数设置,比如:
Tetrahedron:: Tetrahedron(QWidget *parent):QGLWidget( QGLFormat(QGL::DoubleBuffer|QGL::DepthBuffer),parent)
{
}