kivy:如何更新对象 属性?

kivy: How do I update an objects property?

我有一个 python 脚本和一个 kivy 文件来构建界面。

我想通过 pythons 输入(网络输入)动态更新标签内的文本。

所以我为主要的 kivy 小部件创建了一个 属性:

class UserForm(BoxLayout):
    txt = StringProperty("")

在 kivy 内部,我使用 on_txt 在下面的小部件内部调用一些更改:

<UserForm>:
    orientation: 'vertical'
    name: name_input.text
    barcode: barcode_input.text
    on_txt: print ("Aha"); barcode_label.text = "I CHANGED FOR THE BETTER"
    Label:
        id: barcode_label
        text: "barcode (EAN or SN):"
        font_size: 30

它打印 "Aha" 并且没有抛出任何错误,但它也不会更改标签的文本。

感谢任何帮助或提示!

在 python

中执行此操作
class UserForm(Screen):
  on_enter(self):
    self.barcode_label.text='I CHANGED FOR THE BETTER'

这将在您每次进入屏幕时将代码更改为此 选择 如果你想要别的东西试试这个

class UserForm(Screen):
    def changetext(self):
        self.barcode_label.text='I CHANGED FOR THE BETTER'

并在你的 kv 文件中执行此操作

<UserForm>:
    orientation: 'vertical'
    name: name_input.text
    barcode: barcode_input.text
    barcode_label:barcode_label
    Label:
        id: barcode_label
        text: "barcode (EAN or SN):"
        font_size: 30
    Button:
        text: 'press me'
        pos_hint:{"center_x":0.5,"center_y":0.3}
        size_hint:(0.1,0.1)
        on_press:root.changetext()

这给了你一个按钮来改变文本 如果您有任何错误请告诉我