ImGui不能创建您自己称之为的“渲染场景”或“背景”,它必须挂钩到另一个可以的框架中。这就是为什么您不能将ImGui窗口用作“主机”窗口。但是既然您提到了Qt,您可以将其用作类似桌面的主机环境并将ImGui挂钩到其中。如何实现这一点的示例是:
class DemoWindow : public QOpenGLWindow
{
protected:
void initializeGL() override
{
QtImGui::initialize(this);
}
void paintGL() override
{
// you can do custom GL rendering as well in paintGL
QtImGui::newFrame();
ImGui::Text("Hello");
// more widgets...
ImGui::Render();
}
};
显然,您还必须在项目中包含qtimgui库。