在下面的kv代码中,我给x赋值0.1和pos_hint [“ x”] x。
ball:
id: bl_w
x: 0.1
pos_hint: {"x":self.x, "y":0.4}
size_hint: .05, .05
source: "ball.jpg"
print(widget.pos_hint)返回{'x':inf,'y':0.4},但是如果我将kv代码更改为pos_hint:{“ left”:self.x,“ y”:0.4},print( widget.pos_hint)返回{'x':0.1,'y':0.4}。不幸的是,该值不再与屏幕大小有关,这就是为什么我不想对“ pos_hint”使用“ left”。
非常感谢!
[您的pos_hint触发递归更新事件,当它用于定位球时,球的self.x
改变,这触发pos_hint再次更新,这导致self.x
再次改变,依此类推。