Python 无法从.kv文件调用函数,解释器声明类和方法don';不存在

Python 无法从.kv文件调用函数,解释器声明类和方法don';不存在,python,kivy,Python,Kivy,当我运行文件时,按钮会显示出来。一切看起来都很好,直到我单击按钮1调用方法Main.c()。解释器抛出一个异常,声称我还没有定义它,而我已经定义了。我在任何地方都找不到解决办法 .py文件: import kivy from kivy.app import App from kivy.uix.button import Button from kivy.core.window import Window from kivy.lang.builder import Builder kivy.r

当我运行文件时,按钮会显示出来。一切看起来都很好,直到我单击按钮1调用方法Main.c()。解释器抛出一个异常,声称我还没有定义它,而我已经定义了。我在任何地方都找不到解决办法

.py文件:

import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.core.window import Window
from kivy.lang.builder import Builder


kivy.require("1.11.1")


class Main:
    @staticmethod
    def c():
        print("c")


class Start(App):

    def setup(self):
        Builder.load_file('start.kv')


Start().run()
.kv文件:

BoxLayout:
    Button:
        id: btn1
        text: "Button 1"
        on_press: Main.c()
    Button:
        text: "Button 2"
        on_press: print(8 * 8)

您的代码有很多问题,但是,实现您要求的功能的一种方法是

  • App
    class:
    self.Main=Main()
  • 从您的
    kv
    code:
    on\u按:app.main.c()