试图了解Kivy中“属性”的功能

时间:2018-11-26 15:41:28

标签: python kivy

我想确认我对Kivy“属性”的理解(例如:ObjectProperty, NumericProperty, ...)。

https://kivy.org/doc/stable/tutorials/pong.html示例中,我注意到当我从score = NumericProperty(0)更改为score = 0时,分数不会更新。

class PongPaddle(Widget):
    score = NumericProperty(0)

class PongGame(Widget):
    ball = ObjectProperty(None)
    player1 = ObjectProperty(None)
    player2 = ObjectProperty(None)

pong.kv文件中:

<PongGame>:
    ball: pong_ball
    player1: player_left
    player2: player_right

    Label:
        font_size: 70  
        center_x: root.width / 4
        top: root.top - 50
        text: str(root.player1.score)
  • 因此,使用“属性”的一个好处是它可以自动更新.kv文件中声明的属性。 (特别是在此示例中,当有人得分时,得分标签将在游戏中交互更新)。
  • 没有“属性”,那么唯一的方法是在.py中手动更新它。

谢谢。

0 个答案:

没有答案