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)
{
}

遇到在使用Qt的OpenGL模块时,在关闭程序时出现错误提示的问题,通过修改构造函数内的QGLWidget设置方式,避免了错误发生。具体解决过程及原因分析。

2995

被折叠的 条评论
为什么被折叠?



