python kivy ошибка с количеством аргументов при вызове метода
Всем привет. Пишу приложением при помощи kivy. Есть две кнопки. Пытаюсь сделать так, чтобы по нажатию на кнопку "Создать группу" создавалось ещё одна кнопка в том же окне приложения. Определил метод, который создает ещё одну кнопку, но при нажатии выскакивает ошибка:
TypeError: new_group() takes 1 positional argument but 2 were given
Подскажите, пожалуйста, откуда там два передаваемых аргумента и как пофиксить эту ошибку.
Код:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.widget import Widget
from kivy.graphics import Rectangle
class MyApp(App):
def build(self):
al = AnchorLayout()
bl = BoxLayout(orientation = 'vertical', size_hint = [None, None], size = [300,200])
bl.add_widget( Button(text = "Создать группу", on_press = self.new_group))
bl.add_widget( Button(text = "Мои группы"))
al.add_widget(bl)
return al
def new_group(self):
bl.add_widget( Button(text = "Новая группа"))
if __name__ == '__main__':
MyApp().run()
Ответы (1 шт):
Автор решения: RomanR
→ Ссылка
Не знаю в чем твоя ошибка, я бы сделал так.
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.widget import Widget
from kivy.graphics import Rectangle
class MyApp(App):
def build(self):
al = AnchorLayout()
bl = BoxLayout(orientation = 'vertical', size_hint = [None, None], size = [300,200])
but1 = Button(text="Создать группу")
bl.add_widget( but1)
bl.add_widget( Button(text = "Мои группы"))
al.add_widget(bl)
def new_group(self):
but2 = Button(text = "Новая группа")
bl.add_widget(but2)
but1.bind(on_release=new_group)
return al