OpenGL:QApplication的执行流程

时间:2015-02-10 21:55:04

标签: c++ qt opengl graphics

我试图在一些C ++ OpenGL入门代码中跟踪执行路径,但主要方法几乎没有做到这一点:

QApplication app(argc, argv);
MainWindow main_window;
main_window.resize(QSize(width, height));
main_window.show();
return app.exec();

这些是.h和.cpp文件:

GLShape.h    GLTransformStack.h  main.cpp         Matrix4x4.h
GLState.cpp  GLWidget.cpp        MainWindow.h
GLState.h    GLWidget.h          Matrix3x3.h

所有各种功能似乎相当明显,但我找不到任何被调用/实例化的地方。我怀疑这是由QApplication在幕后完成的。

QApplication相对于这些文件是否有标准的执行流程?

特别是,我想创建一个组织为形状树的动画。为此,我试图添加一个类PivotGroup,它包含所有与旋转点相关联的形状组。每个PivotGroup都有PivotGroup子元素的向量,因此可以构造一个树。

代码创建树的最佳位置在哪里?它似乎作为一个小部件有意义,但我不知道是否正在创建一个或多个小部件。

1 个答案:

答案 0 :(得分:2)

通常在使用带有Qt的OpenGL时,GLWidget类将在MainWindow类的构造函数中实例化,这两个类都继承自Qt类。您还可以在那里向MainWindow添加其他小部件。