2015-02-10 31 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。