按下时的按钮动画

时间:2019-01-12 22:50:13

标签: qt qml

在QML中还是很新的。 我想做的(并无法在Google上找到它)是具有背景动画(例如进度条,绿色以od 2sec = onMyPressAndHold的间隔从左向右移动)。 到目前为止一切正常,我必须按住按钮2秒钟,否则没有任何反应...在按住按钮的这段时间内,我希望进度条的背景按钮从左向右移动(填充)... 到目前为止,我尝试了很少的事情,但都没有运气。

Button {
    id: stopButton
    text: 'STOP' // STOP
    width: parent.width
    height: 50

    anchors {
        left: parent.left
        right: parent.right
        bottom: parent.bottom
    }

    signal myPressAndHold()

    onPressed: {
        pressAndHoldTimer.start();
    }
    onReleased: {
        pressAndHoldTimer.stop();
    }
    onMyPressAndHold: {
        stopButton.text = 'PLEASE WAIT...';
        textProgress.text = 'STOPPED';
        elapsedTimer.stop();
        DatabaseJS.push_start(mainScreen);
    }

    Timer {
        id: pressAndHoldTimer
        interval: 2000
        running: false
        repeat: false
        onTriggered: {
            parent.myPressAndHold();
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试重现已经存在的项目DelayButton的行为:

DelayButton {
    text: progress > 0 ? 'PLEASE WAIT...' : 'STOP'
    delay: 2000
    background: Rectangle {
        // here you can define your background, bound to your button 'progress' value
        // ...
    }

    onActivated: DatabaseJS.push_start(mainScreen)
}