我是qt / qml应用程序世界的新手,我希望在不使用鼠标或键盘事件的情况下在qml中执行一些动画活动,例如我通过串口从外部设备获取输入数据并显示数据LCD使用图像,但我需要更改图像上的动作,如在数据更改时旋转或翻转图像,任何人都可以帮我怎么做, 请参阅以下链接,通过单击鼠标可以翻转图像, http://doc.qt.io/archives/qt-4.8/qml-flipable.html 用于旋转图像链接是: https://kunalmaemo.blogspot.in/2011/03/flipping-rotating-view-animation-in-qml.html
BR SGN
答案 0 :(得分:1)
欢迎来到SO。首先请阅读How do I ask a good question?。将来你应该避免质疑“为什么这段代码不起作用?”或“怎么做......”。学习,研究,尝试编写好的代码,如果遇到麻烦,请回过头来。
其次,你应该从QML book开始。这应该为您提供有关QML的所有必要知识。
关于您的问题,请尝试以下方法:
import QtQuick 2.9
import QtQuick.Window 2.2
Window {
id: window
title: "Test"
visible: true
width: 400
height: 400
Image {
id: img
source: "http://placeimg.com/200/200/nature"
width: 200
height: 200
anchors.centerIn: parent
rotation: 0
onStatusChanged: {
if(img.status == Image.Ready) {
console.log("image loaded")
timer.running = true;
}
}
}
PropertyAnimation {
id: anim
target: img
property: "rotation"
from: 0
to: 360
duration: 2000
easing.type: Easing.OutBounce
}
Timer {
id: timer
interval: 3000
onTriggered: {
console.log("timer triggered")
anim.running = true;
}
}
}
图像加载后,更改后的状态启动计时器,计时器又启动动画,动画为rotation
属性。