我正在尝试跟踪某些C++ OpenGL入门代码中的执行路径,但main方法几乎没有其他作用:

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子级的 vector ,以便可以构造树。

代码创建树的最佳位置在哪里?作为一个小部件似乎很有意义,但是我无法确定是否正在创建一个或多个小部件。

最佳答案

通常,将OpenGL与Qt一起使用时,将在MainWindow类的构造函数中实例化GLWidget类,这两个继承自Qt类。您也可以在此处向MainWindow添加其他小部件。

关于c++ - OpenGL:QApplication的执行流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28442616/

10-10 16:37