QMLでタイマーを使う

Use QML Timer
QMLの基本コンポーネント(QtQuick 2.0)にはTimerが含まれています。これ自体が描画されることはありませんが、QMLコンポーネントに含めることで一定時間間隔での関数の実行が行えます。
timer.qml
import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 1.0

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Timer")

    Timer{
        id:tm
        // triggeredを呼び出す間隔(ミリ秒)
        interval: 200
        // イベントを繰り返し発生させるか
        repeat: true
        // タイマーの呼び出し
        onTriggered:{
            rc.x++; // 200msごとに矩形を1ピクセル右へ移動
        }
    }

    Rectangle{
        id:rc
        color: "blue"
        x:0; y:0; width:100; height: 100;
    }

    Button{
        text: "Start"
        onClicked: {
            // タイマーが実行中でなければstart()で開始
            // 実行中ならstop()で停止
            if(tm.running == false){
                tm.start();
                this.text = "Stop";
            }else {
                tm.stop();
                this.text = "Start";
            }
        }
    }
}
2018/11/01