首页 > 解决方案 > 单击kivy按钮时如何调用函数?

问题描述

我对kivy很陌生。我想在 App 类中调用一个函数。但它给出了一个错误。错误是“on_press: app.hello() TypeError: hello() 接受 0 个位置参数但给出了 1 个”

.kv 文件代码

            Button:
            id: add_income_btn
            size_hint: (.05, .2)
            pos: (393, 302)
            background_color: (1, 1, 1, 0)
            text: "+"
            font_size:'20sp'
            on_press: app.hello()

.py 文件代码

Builder.load_file("test1.kv")
class Money_Manager(App,TabbedPanel): 
    def hello():
        print("Hello")

标签: pythonpython-3.xkivykivy-language

解决方案


Python 中实例化 Class 的方法需要一个self参数(当前 Class 实例)。
所以你必须使用:

    def hello(self):
        print("Hello")

推荐阅读