【发布时间】:2019-05-22 04:39:46
【问题描述】:
如何使Dear ImGui - 创建的窗口完全适合“背景”?我的意思是当我们创建一个窗口时,它也在一些渲染场景或背景中。我想模仿其他框架(例如 Qt)创建的窗口,使其更像桌面应用程序,而不仅仅是在某些游戏中。
【问题讨论】:
如何使Dear ImGui - 创建的窗口完全适合“背景”?我的意思是当我们创建一个窗口时,它也在一些渲染场景或背景中。我想模仿其他框架(例如 Qt)创建的窗口,使其更像桌面应用程序,而不仅仅是在某些游戏中。
【问题讨论】:
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();
}
};
来源:https://github.com/seanchas116/qtimgui
显然,您还必须将 qtimgui 库包含到您的项目中。
【讨论】: