qt3d 中的 Qt 小部件 window
Qt Widget inside qt3d window
如何将标签或按钮放入 qt3d window?可能吗?还没有看到任何例子...我试图简单地将 qt3d 放入 window 容器中,为它分配布局和 layout->addWiget() 但它不起作用。
QT3d 文档中的第一个 C++ 示例中有标签和(单选)按钮,请参阅 Qt 3D: Basic Shapes C++ Example
QExtrudedTextGeometry 似乎是 class for 3D text
我知道这是一个很老的问题,但如果有人偶然发现这个问题,我想给出更详细的答案。
我实现了一个 Qt3D 小部件,您可以找到它 here。不幸的是,它依赖于一种从 QAbstractTexture
获取纹理 ID 的方法,该方法仅适用于 Qt >= 5.13,因此这是您必须使用的最低版本。
createWindowContainer
将相应的 window 绘制在其他所有内容之上。所以你永远无法在容器内绘制任何按钮。
您当然可以在 容器 3D window 周围拥有按钮和其他所有东西。但这不是您想要的。
可以使用Dear ImGui - and it's Qt3D integration。 ImGui 用于在 3D 环境中使用顶点绘制 GUI 元素。
当然,您始终可以使用 QML - 您应该可以在 3D 视图中放置按钮。
如何将标签或按钮放入 qt3d window?可能吗?还没有看到任何例子...我试图简单地将 qt3d 放入 window 容器中,为它分配布局和 layout->addWiget() 但它不起作用。
QT3d 文档中的第一个 C++ 示例中有标签和(单选)按钮,请参阅 Qt 3D: Basic Shapes C++ Example
QExtrudedTextGeometry 似乎是 class for 3D text
我知道这是一个很老的问题,但如果有人偶然发现这个问题,我想给出更详细的答案。
我实现了一个 Qt3D 小部件,您可以找到它 here。不幸的是,它依赖于一种从
QAbstractTexture
获取纹理 ID 的方法,该方法仅适用于 Qt >= 5.13,因此这是您必须使用的最低版本。createWindowContainer
将相应的 window 绘制在其他所有内容之上。所以你永远无法在容器内绘制任何按钮。您当然可以在 容器 3D window 周围拥有按钮和其他所有东西。但这不是您想要的。
可以使用Dear ImGui - and it's Qt3D integration。 ImGui 用于在 3D 环境中使用顶点绘制 GUI 元素。
当然,您始终可以使用 QML - 您应该可以在 3D 视图中放置按钮。