2015-02-10 36 views
1

我试图跟踪执行的路径在一些C++的OpenGL启动代码,但主要的方法的执行流程几乎没做什么比这更:OpenGL的:QApplication的

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子元素的矢量,以便可以构建树。

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

+0

GLWidget.cpp看起来像包含OpenGL渲染循环的明显候选者。你看过吗? – Dan 2015-02-10 22:27:08

+0

@丹:是的。我注意到在OP中(也许我不清楚)。但是由于我无法追踪执行的路径,我不确定是否有一个或多个小部件正在实例化。有一个GLWidget类和一个初始化方法的构造函数,但运行期间的实际实例似乎不在任何这些文件中。 – Schemer 2015-02-10 22:42:49

+2

通常当在Qt中使用OpenGL时,GLWidget类将在MainWindow类的构造函数中实例化,这两个类都从Qt类继承。 – user3256930 2015-02-11 01:00:07

回答

2

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