Как вызвать функцию при нажатии на кнопку kivy? - PullRequest
0 голосов
/ 16 апреля 2020

Я довольно новичок в киви. Я хочу вызвать функцию в классе приложения. Но это дает ошибку. Ошибка "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")

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Методы экземпляра класса в Python нуждаются в аргументе self (текущий экземпляр класса).
Поэтому вы должны использовать:

    def hello(self):
        print("Hello")
0 голосов
/ 16 апреля 2020

Попробуйте это:

on_press: app.hello

вместо

on_press: app.hello()
...