所以我在集成 QT 和 OSG 时遇到了问题。我有一个运行良好的 QT/OSG 程序。布局与您在下面看到的类似。
|--------------------------|
| 1 | 2 |
| | |
| | |
| | |
| | |
| | |
| |-------------------|
| | 3 |
| | |
|--------------------------|
中央小部件由一个 QFrame 组成,该 QFrame 具有三个子小部件并使用网格布局。小部件 1 是一个 QFrame,也具有网格布局。小部件 2 是 OSG 查看器,如下所述。小部件 3 是一个 QFrame,也具有网格布局。
其中两个填充了一个以 osgviewerQT.cpp 中的示例为模型的小部件。基本上它使用一个嵌入式窗口,我有一个每 10 毫秒触发一次并调用 osg 框架函数的 QTimer。
我还有 4 个其他小部件。我动态填充的两个 QLabel 和两个 QTable。我一直在将所有四个小部件添加到 1 的网格布局中。当我这样做时,一切都很好,我在 2 中得到了我漂亮的场景图。如果我进行一次更改,将这四个小部件从 1 的网格布局移动到 2 的网格布局突然我的场景图消失了。任何想法出了什么问题?我已经检查了 valgrind,所以我很确定这不是内存问题,而是我使用 lib 的方式。我已经确认正在调用 frame 函数。