Изображение иглы вращающегося датчика QML вокруг начала координат: ошибка выравнивания - PullRequest
0 голосов
/ 22 октября 2019

Я пытаюсь повернуть стрелку датчика вокруг индексной точки, но у меня появляется ошибка выравнивания при ее перемещении. Пожалуйста, предложите, какие изменения необходимо внести в код, чтобы исправить это?

Я не разместил код дляфоновое изображение, используемое в моем проекте.

В моем проекте есть фоновое изображение, на котором игла поворачивается. Но когда стрелка вращается, она не остается в том же месте, откуда начинается вращение. Я использую, чтобы получить некоторую разницу в выравнивании между фоновым изображением ЧЕРНЫЙ круг и винт иглы. Изначально этой ошибки не было.

Размер изображения иглы - 188x36.

main.qml файл: ---

import QtQuick 2.6
import QtQuick.Window 2.2
import QtQuick.Controls 2.5

Window
{
    visible: true
    x :0
    y :0
    width: 800
    height: 480
    color: "grey"
    id : window_id

    Rectangle
    {

        Speed_Needle{
          id: cluster_pointer_base
          x : 214+16
          y : 222
        }


    }

    Timer{
        id:gearUpdate
        interval: 15
        running: true
        repeat: true
        property real  speedValue: -31
        property real  direction: 0
        property real  direction_toggel: 0

        onTriggered: {
            //rpmSpeedMeter()

            //cluster_large_gear.rotation = speedValue;
            if(speedValue == 209)
            {
                direction = 1

            }
            if(speedValue == -31)
            {
                direction = 0
            }

            cluster_pointer_base.value = speedValue //- 31;
            if(direction == 0)
            {
                speedValue++;
            }
            else
            {
                speedValue--;
            }

        }
    }


}

needle.qml файл: -

import QtQuick 2.0

Item {

    property int value: -31
    width: 186
    height: 36

    Image
    {
        id: root
        source: "files/pointer_needle2.png"
        x : 0
        y : 0
        transform: Rotation  {
            id: needleRotation
            angle : value
            origin.x :root.width-16
            origin.y :root.height/2
            origin.z : 0

            Behavior on angle  {

                SmoothedAnimation { velocity: 50 }

            }
        }


    }

}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...