所以基本上我要做的是动画小部件移动,起始点是(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)。
有没有简单的方法来动画这个变化?我知道我可以将动画的第二个参数更改为几何以外的东西,但我无法弄清楚在我的情况下我会改变它。我们非常感谢任何帮助,现在我们已经试着解决这个问题。