Qt QML引用错误:<;对象id>;没有定义

Qt QML引用错误:<;对象id>;没有定义,qt,qml,Qt,Qml,我需要做一些3D变换矩阵计算,我想重新使用Qt3D变换: import QtQuick 2.0 import Qt3D.Core 2.12 as Qt3D Item { id: root Qt3D.Transform { id: transform1 } function eulerToQuaternion(x, y, z) { transform1.rotationX = x transform1.rotat

我需要做一些3D变换矩阵计算,我想重新使用Qt3D变换:

import QtQuick 2.0
import Qt3D.Core 2.12 as Qt3D

Item {
    id: root

    Qt3D.Transform {
        id: transform1
    }

    function eulerToQuaternion(x, y, z) {
        transform1.rotationX = x
        transform1.rotationY = y
        transform1.rotationZ = z
        return transform1.rotation
    }

    function quaternionToEuler(q) {
        transform1.rotation = q
        return Qt.vector3d(transform1.rotationX, transform1.rotationY, transform1.rotationZ)
    }

    ...
但是,它不起作用。当我使用
eulertoquateernion
四元数euler
时,我得到:

ReferenceError:未定义transform1


通过id访问对象适用于其他对象,为什么不适用于此对象?

您尝试用其他类替换
Transform
,并从函数中访问它?我读了你的问题,因为你已经试过了,只是想确定一下。实际上,我试图在一个新项目(最小测试用例)上重现这个问题,但没有。好吧,奇怪,但是你现在能使用这个新项目使一切正常吗?如果你试图用其他类替换
Transform
,并从你的函数中访问它?我读了你的问题,因为你已经试过了,只是想确定一下。事实上,我试着在一个新项目(最小测试用例)上复制这个,但是没有。好吧,奇怪,但是你现在能使用这个新项目使一切都正常吗?