Вы написали в комментарии Even an example of how to add and remove the widgets would help greatly as i can fit it to my own program and needs!
, вот оно:
from kivy.app import App
from kivy.clock import Clock
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
class MyWidget(BoxLayout):
def __init__(self, *args):
Clock.schedule_once(self.add_widgets, 1)
Clock.schedule_once(self.remove_widgets, 2)
return super().__init__(*args)
def add_widgets(self, *args):
# add two widgets
self.add_widget(Label(text="Hello"))
self.add_widget(Label(text="World"))
def remove_widgets(self, *args):
# remove a widget using children property
self.remove_widget(self.children[1])
class MyApp(App):
def build(self):
return MyWidget()
if __name__ == '__main__':
MyApp().run()
Это очень просто.Вы используете add_widget
метод для добавления вновь созданного экземпляра любого виджета - кнопки, метки, макета и так далее.Затем вы можете удалить его, передав его идентификатор методу remove_widget
.Вы можете получить его из children
объекта или сохранить его самостоятельно, например:
my_button = Button(text="Blah blah")
# ...
my_layout.add_widget(my_button)
# ...
my_layout.remove_widget(my_button)