如何将QML的旋转角度属性设置为更改变量

时间:2017-11-09 17:35:46

标签: qt qml

我在main.qml中有以下QML代码:

Window {
    visible: true
    width: 640
    height: 480
    onBeforeRendering: Work.start()

    Connections{
        target: Work
        onResult: res.text = r
    }

    Text{
        id: res
    }

    Rectangle{
        id: rect
        anchors.centerIn: parent
        height: 300
        width: 300
        color: "lightblue"
        radius: 300

        Rectangle{
            id:needle
            color: "black"
            height: 150
            width: 2
            x: 150
            y: 150
            transform: Rotation { origin.x: 0; origin.y: 0; axis { x: 0; y:0 ; z: 1 } angle: 30}
            smooth: true;
        }
    }
}

模拟时钟或标尺,我还有一个C ++函数连接到" onResult"在Text {id:res}中显示更改值的事件。一切都运作良好。

我想要添加的是一种将结果旋转角度属性连接到" r"在Connections中的结果作为旋转角度。

我认为添加以下内容会使其有效但我没有运气:

Connections{
    target: Work
    onResult: needle.angle = r
}

    Rectangle{
        property double angle: 0
        id:needle
        color: "black"
        height: 150
        width: 2
        x: 150
        y: 150
        transform: Rotation { origin.x: 0; origin.y: 0; axis { x: 0; y:0 ; z: 1 } angle: angle }
        smooth: true;
    }

我没有得到任何错误或任何错误,所以我知道我没有以正确的方式挂钩。我将不胜感激任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

也许你应该使用旋转属性?

Connections {
    target: Work
    onResult: needle.rotation = r
}