gpt4 book ai didi

c++ - C++ 中的 Qt3d 输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:54 24 4
gpt4 key购买 nike

是否可以在 C++ 中的 qt3d 中处理鼠标输入?我能够使用 qml 使用 qt3d 存储库中的示例来做到这一点

https://github.com/qtproject/qt3d/tree/5.6/examples/qt3d/mouseinput-qml

然而,没有对应的 C++。

尽管进行了多次尝试(甚至尝试使用附加到各种小部件的事件过滤器来捕获输入),但我根本无法在 C++ 中捕获鼠标事件。 qt3d 的 c++ 鼠标输入 api 对于这个版本的 qt (5.6) 是否完整,或者我应该等待 5.7 版?

最佳答案

虽然这是一个老问题,但如果有人需要,我会提供答案。

首先,C++ 与 QML 总是等价的。这是因为 QML 只是实例化 C++ 类。

在这种情况下,根据 QML documentation , 类 QMouseController被实例化。

查看您提供的 repo 中的其余代码,您必须创建 QMouseController 作为 QEntity 的子级(或者我认为不创建当将其设置为组件时,父级也将相应设置)并将其作为组件添加到所述实体。

QML 代码中的 property MouseInput mouseInput 仅将其作为属性添加到实体(我假设)。您也可以省略将其添加为属性,而是为其分配一个 ID(在 MouseInput block 内)并使用此 ID 将其添加到实体中,即

Entity {
id: sphere1

MouseInput {
id: mouseInput

controller: mouseController
}

components: [mouseInput]
}

关于c++ - C++ 中的 Qt3d 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37421388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com