python - kivy:如何更新对象属性?

标签 python oop kivy kivy-language

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

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

所以我为主 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()

这为您提供了一个按钮来更改文本 如果您遇到任何错误,请告诉我

关于python - kivy:如何更新对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36663289/

相关文章:

python - 在h.264中以低延迟从Python中的opencv流rtsp视频

javascript - 使用 Django 进行视频聊天?或其他Python框架?

python - 如何将微调器值设置为等于 kivy 中 python 方法的输出列表

android - Kivy 创建 APK 失败 | wget --no-check-证书

python - 使用 Google AppEngine 中的 Gmail API

python - 如何使用 Beautiful Soup 收集元素?

c# - 为什么函数指针不被认为是面向对象的?

c++ - 友元类可以在 C++ 中从其友元类创建对象吗?

c++ - 在头文件中编写的类的成员函数的定义,在 C++ 中单独的 .cpp 文件中

python - 当我从应用程序中调用她时如何正确调用函数?