OpenGL:QApplication的执行流程

OpenGL: Execution Flow of QApplication

本文关键字:执行流 QApplication OpenGL      更新时间:2023-10-16

我试图在一些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,该类包含所有与旋转点关联的形状组。每个数据透视组都有数据透视组子级的向量,因此可以构建树。

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

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