标签文本没有改变Kivi Python

时间:2018-06-11 10:08:24

标签: python kivy

当我按下按钮时,我正在尝试更改lavel文本,但它没有改变我有这个代码:

的Controler:

class Controller(BoxLayout):
    random_string = StringProperty()
    random_string="hola"
    def do_action(self):
        random_string="h22l"
        print(random_string)
    def do_action2(self):
        random_string="hl2332323"
        print(str(random_string))

我的.mk:

<Controller>:
label: lvId

BoxLayout:
    orientation: 'vertical'

    Button:
        text: 'Click Me'
        on_press: root.do_action()

    Button:
        text: 'Click Me'
        on_press: root.do_action2()

    Label:
        id: lvId
        text: root.random_string
        text_size: root.width, None
        size: self.texture_size

1 个答案:

答案 0 :(得分:0)

您必须通过self访问变量,否则,您将创建一个新的本地变量而不是您要访问的变量。

class Controller(BoxLayout):
    random_string = StringProperty("hola")
    def do_action(self):
        self.random_string="h22l"
        print(self.random_string)
    def do_action2(self):
        self.random_string="hl2332323"
        print(self.random_string)