我有一个绑定到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
其中“食物”是
String
。在屏幕上,标签文本正确显示。如何打印
StringProperty()
中包含的实际字符串。 最佳答案
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)
关于python - 如何在Python中从StringProperty中获取字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48016090/