c++ - OpenGL 中的 GUI 工具包

标签 c++ qt user-interface opengl toolkit

我想开发一个类似于 Pure Data 的应用程序(用 C++) ,但有一个很酷的 GUI 和一个更好的文档......是的,类似于 Max/MSPReaktor ,但免费且开放!

为了创建一个吸引人的、响应式的和可移植的界面,我正在考虑使用 OpenGL。 在我看来有类似 Blender GUI 的东西.

在开始开发我的自定义 GUI 工具包之前,我四处搜索以了解是否存在我可以使用的东西,我发现:

  • Juce : 它似乎很受支持,但我不明白你是否只能在你的界面中嵌入 OpenGL Canvas ,或者是否可以使用 OpenGL 呈现所有小部件。
  • nUI : 它看起来真的很酷而且便携,但是......它的论坛是一片沙漠,而且真的很难找到教程!
  • ceGUI、FLTK、GLUI:如此扁平和灰色 ;-) 并且任何一个都没有得到维护。

你知道其他工具包吗?如您所知,我正在寻找一个可移植的库(C++),速度快且受支持。

另一种可能性是使用 SDL 或 Freeglut 从头开始​​开发我的自定义工具包,在这种情况下,哪种可能是最佳解决方案?

附言: 阅读有关此主题的其他线程,我注意到许多开发人员建议使用 Qt ... Qt 可以依赖 OpenGL 进行渲染吗?或者它可以托管 OpenGL Canvas ?无论如何,你认为在 Qt 中创建这样的东西是可能的(具有良好的性能):

最佳答案

没有真正好的 openGL 工具包,它们往往是为特定的应用程序发明的,然后就被抛弃了。

是的,Qt 与 openGL 配合得很好,有一个 openGL QGlWidget具有完整的硬件加速(以及到 openCL 的可选链接)。您可以在 Qt 应用程序中拥有任意数量的 QGL 小部件——每个小部件内部都有自己的 openGL 命令。

您还可以在同一个 QGlWidget 中混合使用 Qt 和 openGL (http://doc.qt.nokia.com/qq/qq26-openglcanvas.html)

稍微偏离主题:您还可以选择 Qt 以使用 openGL 进行所有渲染 - 这仍然有点实验性,但意味着 2d Qt 在某些嵌入式平台(如手机)上可以更快。
编辑:澄清 - 整个应用程序仍然是正常的 Qt,但在“幕后”使用 openGL 命令绘制

关于c++ - OpenGL 中的 GUI 工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5606376/

相关文章:

c++ - 可识别 C++ 的 Diff 实用程序

c++ - SDL:使现有表面透明/删除所有像素数据

c++ - 在 Qt Creator 中链接 EGL?

Python 跨平台桌面应用程序

c++ - 如何: Extend C++14 template function to variadic template,参数

c++ - Visual Studio 2013 模板别名

Python Qt QFileDialog::getopenFileNames - 文件选择顺序

Qt/C - QWebView - 加载 Flash Lite 插件

java - 更改我的框架并调整内容大小

c++ - 我应该使用跨平台 GUI 工具包还是依赖 native 工具包?