如何从Python中的StringProperty中获取字符串

时间:2017-12-29 00:40:37

标签: python kivy

我有一个绑定到StringProperty()的kivy标签。我试图用Python来获取它的字符串。

class Screen1(Screen):
    food_label = StringProperty()

    def print_label(self):
        print(Screen1.food_label)

它返回: <StringProperty name=food_label>

我在def

中使用此语句在上一个屏幕上设置了该属性
self.manager.get_screen('screen_1').food_label = food

食物&#39;是String。在屏幕上正确显示标签文本。

如何打印StringProperty()中包含的实际字符串。

1 个答案:

答案 0 :(得分:2)

Screen1.food_label不起作用。虽然kivy属性看起来像Python静态变量,因为它们是在类的顶部声明的,但它们实际上是对象属性。如果你愿意的话

class Screen1(Screen):
    food_label = 'Hello world'

    def print_label(self):
        print(Screen1.food_label)

这应该有效但是因为这些是Kivy Properties,你必须这样做

class Screen1(Screen):
    food_label = StringProperty()

    def print_label(self):
        print(self.food_label)