gpt4 book ai didi

qt - QML 使用计时器移动文本

转载 作者:行者123 更新时间:2023-12-03 02:10:38 25 4
gpt4 key购买 nike

我需要在屏幕上从右到左连续创建移动文本,我使用QML TimerText元素实现了它。

下面的代码工作正常,但我担心下面的代码会导致更多的 cpu 或内存使用,主要是因为计时器每 33 毫秒触发一次。我必须在应用程序中的位置和多个实例中使用它,例如在许多网格窗口内。

这是正确的方法吗?或者还有比这更好的东西吗?

Rectangle{
width:parent.width
height:parent.height
color: "#333333"

Timer {
id: resetTimer
interval: 33
repeat: true
running: true
onTriggered: {
console.log("triggred");
moving_text.x = moving_text.x-1
if(moving_text.x<-1*moving_text.paintedWidth)
moving_text.x=parent.width
}
}

Text{
id:moving_text
x:parent.width
text:"Moving text"
color: "white"
}
}

最佳答案

为什么要把事情搞得这么复杂。您可以在 x 上使用 NumberAnimation,如下所示:

import QtQuick 2.0

Rectangle{
id: root
width:250
height:250
color: "#333333"

Text{
id:moving_text
x:parent.width
text:"Moving text"
color: "white"

NumberAnimation on x{
from: root.width
to: -1*moving_text.width
loops: Animation.Infinite
duration: 3000
}
}
}

至于您关心的内存和CPU使用情况,您应该比较这两种方法并检查哪种方法适合您。但我个人的建议是使用NumberAnimation

关于qt - QML 使用计时器移动文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com