首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++中的Qt3d输入

c++中的Qt3d输入
EN

Stack Overflow用户
提问于 2016-05-25 02:37:01
回答 1查看 970关注 0票数 4

是否可以在c++中处理qt3d中的鼠标输入?我可以通过qt3d存储库中的示例使用qml来实现这一点。

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

然而,没有与此对应的c++等价物。

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

EN

回答 1

Stack Overflow用户

发布于 2018-05-31 15:04:29

尽管这是一个古老的问题,但如果有人需要,我会提供答案。

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

在本例中,根据QML documentation,类QMouseController被实例化。

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

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

代码语言:javascript
复制
Entity {
    id: sphere1

    MouseInput {
        id: mouseInput

        controller: mouseController
    }

    components: [mouseInput]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37421388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档