是否可以在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吗?
发布于 2018-05-31 15:04:29
尽管这是一个古老的问题,但如果有人需要,我会提供答案。
首先,总是有C++到QML的等价物。这是因为QML只是实例化C++类。
在本例中,根据QML documentation,类QMouseController被实例化。
查看您提供的代码库中的其余代码,您必须创建QMouseController作为QEntity的子项(或者不创建,我认为当将其设置为组件时,父项也会相应地设置),并将其作为组件添加到所述实体中。
QML代码中的这个property MouseInput mouseInput只是将它作为一个属性添加到实体中(我假设)。您还可以省略将其作为属性添加,而是为其分配一个ID (在MouseInput块中),并使用此ID将其添加到实体中。
Entity {
id: sphere1
MouseInput {
id: mouseInput
controller: mouseController
}
components: [mouseInput]
}https://stackoverflow.com/questions/37421388
复制相似问题