带按钮的函数中的kivy传递变量

时间:2018-08-18 16:29:39

标签: python kivy

首先,我想说的是,这个问题与将近两年前提出的问题非常相似。不幸的是,我没有得到任何有用的信息。 我已经解决了5个多小时的问题,这让我感到非常沮丧,因为这似乎是一项非常基本的任务。

基本上,尝试调用变量时出现错误。

所以我的.py文件中有此类:

class TouchInput(Widget):
    x_round=StringProperty()

    def button_action(*args):
        print(self.pass_variable)

    def on_touch_move(self, touch):
        x_var=touch.psx
        self.pass_variable= str(round(x_var, 2))

class tracker(App):
    def build(self):
        return TouchInput()

if __name__ == "__main__":
    tracker().run()

带有此.kv文件:

#:kivy 1.0.9

<TouchInput>:  
    Button:
        text: "Send"
        font_size: 40
        size_hint: None, None
        size: 300, 100
        pos: 150, 0
        on_press: root.button_action()

但是对于 def button_action()中的调用,我收到错误“未定义名称自身” 。我对类的理解是, self.variables 在整个类中都是共享的,但是经过一番研究,我得出了这样的结论,那就是事实并非如此。我碰到了墙,试图解决最近5个小时的问题。

请表示怜悯(这必须是一项非常基本的任务),并向我提示或指导如何进行此跑步。

0 个答案:

没有答案