c++ - 用于桌面 Gui 应用程序的 Qt 4.x/5.x 和 OpenGL : What module to choose?

标签 c++ qt opengl

我正在为 Linux/Windows 桌面使用 Qt 和 OpenGL 开始一个新的 GUI 应用程序项目。到目前为止,我的假设是:使用 Qt GUI(C++ ... 而不是 QML/QtQuick 2)和 OpenGL 4.1 或更高版本(要求)。阅读之后,我完全不知道选择什么路径。什么途径可以使我的应用程序在支持和库方面永不过时。

Qt 4.x 还是 Qt 5.x? 标准 OpenGL 或 QGL 或 QOpenGL 或 QtOpenGL 包装器? QWidget/QGLWidget (Qt 4.x) 或 QWindow (Qt 5.x)?

该应用程序旨在在桌面环境中运行,并将执行大量文件(几何)打开/保存、实例化 3D 绘画和​​一些成像。如果可能的话,有人可以指出我选择的最佳组合并提供一些解释吗?

肖恩·哈默 presentation在 Qt 5 和 OpenGL 上确实回答了我的部分问题,但当他开始使用 QML 和 QtQuick 2 时我有点迷茫。我觉得 QOpenGL 是与 QtQuick 2 一起使用的轻量级版本。如果我错了,请纠正我请。

最佳答案

Qt 5.0 仍处于测试阶段,因此如果您的项目很重要,您应该使用 qt 4.8,因为这是最新的稳定版本。但是,如果您必须拥有 Qt 5.0 的一些功能,那么您别无选择,只能使用 5.0。

既然选择了Qt,就应该坚持下去。这意味着使用 QtOpenGL。这并不意味着您不会使用标准的 OpenGL。 QtOpenGL 为您提供 API 来简化一些 OpenGL 调用,并使它们更加面向对象。毕竟,OpenGL 是一组 C 函数,而不是一组 C++ 类。

关于c++ - 用于桌面 Gui 应用程序的 Qt 4.x/5.x 和 OpenGL : What module to choose?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928701/

相关文章:

c++ - 在 QTreeWidget 中插入元素时内存泄漏?

c++ - itemChanged 信号在应用程序启动时没有更改项目时起作用

c++ - SDL/OpenGL 浮点异常

c++ - 在构造函数中被删除后继续执行

c++ - 检查 Char 是否在范围内

c++ - 如何根据 QDialog 的标题长度调整其大小?

c++ - 为什么我在尝试此 OpenGL 教程时得到 "r300 FP: Compiler Error:"?

c++ - 如何为使用线性代数 C++ 模板库 Eigen 的 C++ 项目编写 makefile?

c++ - 改变这是什么

c++ - OpenGL 简单立方体未出现,使用统一 block