当窗口或控件大小发生变化的时候,视口和投影矩阵通常需要被更新,以确保渲染内容能够正确适应新的窗口尺寸。
重写resizeGL(int w,int h);
void MyOpenGLWidget::resizeGL(int w, int h)
{
// 设置视口到新的窗口大小
glViewport(0, 0, w, h);
// 更新投影矩阵(这里用透视投影为例)
projectionMatrix.setToIdentity();
projectionMatrix.perspective(45.0f, float(w)/float(h), 0.1f, 100.0f);
// 可选:如果你有 camera 对象,也可以调整 aspect ratio
camera.setAspectRatio(float(w)/float(h));
}