【问题标题】:Qt - multiple layers containing a QGraphicsView in one 3D scene (QGLWidget)Qt - 在一个 3D 场景中包含 QGraphicsView 的多个图层(QGLWidget)
【发布时间】:2011-12-18 03:51:01
【问题描述】:

我目前正在评估实现可导航 3D 场景的可能性,该场景允许渲染多个 2D 图层。更准确地说,我想在 3D 环境中显示多个图形,以便查明这些图形之间的相似性和差异。考虑以下屏幕截图,将有两个图形(一个黑色,一个灰色),它们是等效的 - 对于不同的图形,异常节点可能会以红色突出显示。

我正在使用 Qt 的 Graphic View Framework 并使用 QGraphicsScene 和几个 QGraphicsItems 建立了一个可编辑的图形编辑器,我将它们与这个项目分开。

Qt 提供了OpenGL support,例如QGLWidget,我查看了提供的示例。鉴于我没有使用过 OpenGL(不过我也使用过 Java3D),如果有人可以分享他们的经验,我会很高兴的。

我想到了几个解决方案:

  1. 将每个 QGraphicsView 渲染为 QPixmap 并以 3D 形式显示它们,这将使图形可导航,但会禁止任何元素的选取等。
  2. 为每个 2D 图形元素创建一个等效的 3D 元素,并将每个 QGraphicsView“转换”为 3D 表示。我想这将是一项相当大的工作(尤其是因为我没有使用过 OpenGL)

对于第一个实现,在不同层显示多个图形的普通导航“查看器”就足够了。但我想保持它的可扩展性,以便将来添加,例如挑选。

【问题讨论】:

    标签: qt opengl graph qgraphicsview qglwidget


    【解决方案1】:

    Qt3D 项目提供了一个名为 QGraphicsEmbedScene 的类,它完全符合您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-09
      • 2018-02-18
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多