我正在尝试跟踪某些 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 child 的 vector ,因此可以构建一棵树。
代码创建树的最佳位置在哪里?作为一个小部件似乎很有意义,但我无法判断是否正在创建一个或多个小部件。
最佳答案
通常当 OpenGL 与 Qt 一起使用时,GLWidget 类将在 MainWindow 类的构造函数中实例化,这两个类都继承自 Qt 类。您还可以在此处向 MainWindow 添加其他小部件。
关于c++ - OpenGL:QApplication的执行流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28442616/