【问题标题】:What full featured cross platform GUI toolkit options are there for embedding in an OpenGL app?有哪些功能齐全的跨平台 GUI 工具包选项可用于嵌入 OpenGL 应用程序?
【发布时间】:2011-08-15 13:16:30
【问题描述】:

我正在编写一个全屏 OpenGL 应用程序。其中,我将在背景上呈现一个大的 GL 渲染,前面有一堆窗口,一些包含更多的 GL 内容,一些包含普通的 GUI 内容。这个傻瓜至少需要在 Linux 和 Windows 上运行,Mac 也不错。

我在这里寻找的是 GUI 工具包选项。我正在追求一个完整的成熟系统,其中包含全套小部件、布局助手、小部件焦点跟踪等。

我的幼稚想法是嵌入 GTK+ 之类的东西,将其作为屏幕部分的输入事件传递给它,然后让它渲染到我纹理化到 GL 基元上的缓冲区。

GTK+ 可以这样工作吗?还有哪些其他选择?

【问题讨论】:

  • 当我想到一个成熟的 GUI 工具包和你需要的所有东西时,我想到了 Qt。虽然我不知道它是否可以做你想做的事情(因此它没有答案),但我根据经验非常确定这可以通过 Qt 以简单直观的方式实现。

标签: user-interface opengl gtk


【解决方案1】:

我强烈建议您查看Qt 及其OpenGL module。它能够完成您描述的所有事情。

最好的问候

【讨论】:

  • 我同意。 Qt 非常好地抽象了 OpenGL 窗口设置,它的 QGLWidget 允许您在可以放置 Qt 小部件的任何地方放置 OpenGL 窗口。此外,Qt 具有您在工具包中寻找的那种成熟度和深度。
  • 我可以看到这如何让我将 GL 放入 QT 应用程序中,但我真正的是将 QT 放入 GL 应用程序中。我错过了什么吗?要清楚,我想在 GL 视图上浮动小部件。喜欢这个doc.trolltech.com/qq/qq26-openglcanvas.html 除了那是 3 岁。
  • 虽然旧,但您链接中的示例仍然有效(至少在原则上)。您可以在 QGLWidget 中嵌入 QWidget 衍生产品。
  • 是的,经过一番摇晃之后,我得到了那个例子,这仍然反映了最好的方法吗?我的意思是,如果给你看一段视频并要求你重新制作它,你会使用相同的基本方法吗?还是 qt 从那里继续前进?
猜你喜欢
  • 2010-10-05
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
相关资源
最近更新 更多