如果我的position_hint是“ x”而不是“ left”,为什么我的x值是无限的?

问题描述 投票:0回答:1

在下面的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”。

非常感谢!

python kivy position kivy-language
1个回答
0
投票

[您的pos_hint触发递归更新事件,当它用于定位球时,球的self.x改变,这触发pos_hint再次更新,这导致self.x再次改变,依此类推。

© www.soinside.com 2019 - 2024. All rights reserved.