我有一个应用程序,该应用程序的文本字段(在GridLayout中)具有大量数字,并且希望在视觉上突出显示已更改的字段(例如颜色从原始更改为红色,然后又变为红色,所以类似)。
我是动画/转场等游戏的新手,所以我想问一问正确的方法是什么。
我正在看Qt Creator中的教程,但是它们已经将过渡添加到了QML代码中的元素上,而我想通过其id获取元素并说,现在运行高亮过渡,而无需在其代码中添加任何内容。有可能吗?
答案 0 :(得分:0)
您必须实现自己的控件,该控件派生自data-number
,并在所需的所有动画逻辑内添加。
例如:
MyItem.qml
Text
用法:
import QtQuick 2.12
Text {
id: txt
property bool hightlight: false
property color textColor: color
property color hightlightColor: "red"
onHightlightChanged: {
if(hightlight)
anim.running = true;
}
SequentialAnimation
{
id: anim
running: false
PropertyAnimation {
target: txt
property: "color"
to: hightlightColor
duration: 500
}
PropertyAnimation {
target: txt
property: "color"
to: textColor
duration: 500
}
ScriptAction {
script: txt.hightlight = false;
}
}
}