所以基本上我想要做的是动画一个小部件移动,起点是(0,0)或父窗口一侧的某处,然后终点是小部件实际位于父窗口上的位置。但是我使用的是一种布局方法,具体来说是 QGridLayout,所以我不能像通常那样根据我的理解改变几何图形。这是迄今为止的尝试。
print ("POS: ", self.Play_label.pos())
geometry_play = self.Play_label.geometry()
print ("mapp: ", self.Play_label.mapToGlobal(QPoint(0,0)))
print ("play geo: ", geometry_play)
self.animation = QPropertyAnimation(self.Play_label, b"geometry")
self.animation.setDuration(3000)
self.animation.setStartValue(QRect(0,0,150,150))
self.animation.setEndValue(geometry_play)
#print ("Value: ", self.animation.currentValue())
#self.animation.valueChanged.connect(self.Play_label.changeImageSize)
#self.animation.setTargetObject(self.Play_label)
self.animation.start()
但是我创建的标签的 x 和 y 坐标始终为 (0,0),这是因为我使用的是布局方法吗?即使我尝试使用 .pos() 方法打印出位置,它也总是返回 (0,0)。
有没有简单的方法来动画这个变化?我知道我可以将动画的第二个参数更改为几何以外的其他参数,但我无法弄清楚在我的情况下我会将其更改为什么。请任何帮助将不胜感激现在试图解决这个问题。