Не работает функция в Kivy
Создаю приложение на kivy. Пытаюсь сделать чтобы при нажатии на кнопку удалялся предыдущий макет(layout) с его кнопками и картинками и появлялся новый со своими виджетами. Но функция работает некорректно и тут два варианта: либо новый макет(layout) с его виджетами появляется но кнопка на которой привязана функция остается, либо кнопка на которой привязана функция удаляется, но новый макет(layout) с его виджетами не появляется. Что делать? Я хочу чтобы эта кнопка уходила и появлялся layout с картинкой.
from kivy.uix.image import Image
from kivy.uix.button import Button
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.config import Config
Config.set('graphics', 'width', '360')
Config.set('graphics', 'height', '748')
Config.set('graphics', 'resizable', False)
homePageLayoutPlaced = False
class SimpleApp(App):
def build(self):
self.title = 'Quizop'
self.icon = 'qzpico.ico'
mainlayout = FloatLayout(size=(360, 748))
backgroundImage = Image(source="background.png", pos=(0, 0))
bottomBar = Image(source='bottombar.png', pos=(0, -346))
bottomBarHomeButton = Button(background_normal='white-home.png', size_hint=(None, None), pos=(24, 14), size=(32, 32))
bottomBarInternetButton = Button(background_normal='white-internet.png', size_hint=(None, None), pos=(162, 14), size=(32, 32))
bottomBarAccountButton = Button(background_normal='white-account.png', size_hint=(None, None), pos=(300, 14), size=(32, 32))
bottomBarHomeButton.bind(on_press=self.openHomePageCmd)
bottomBarAccountButton.bind(on_press=self.openManagePageCmd)
mainlayout.add_widget(backgroundImage)
mainlayout.add_widget(bottomBar)
mainlayout.add_widget(bottomBarHomeButton)
mainlayout.add_widget(bottomBarInternetButton)
mainlayout.add_widget(bottomBarAccountButton)
return mainlayout
def openHomePageCmd(SimpleApp, self):
global homePageLayoutPlaced
if homePageLayoutPlaced == True:
return
global homePageLayout
homePageLayout = FloatLayout(size=(360, 688))
global homePageWelcomeMessageImage
homePageWelcomeMessageImage = Image(source='welcomebgru.png', size_hint=(None, None), size=(320, 141), pos=(20, 580))
global homePageCreateQuizButton
homePageCreateQuizButton = Button(background_normal='createquizbtnru.png', size_hint=(None, None), pos=(20, 500), size=(320, 60))
global homePageStartQuizButton
homePageStartQuizButton = Button(background_normal='startquizbtnru.png', size_hint=(None, None), pos=(20, 420), size=(320, 60))
global homePageDeleteQuizButton
homePageDeleteQuizButton = Button(background_normal='deletequizbtnru.png', size_hint=(None, None), pos=(20, 340), size=(320, 60))
global homePageImportQuizButton
homePageImportQuizButton = Button(background_normal='importquizbtnru.png', size_hint=(None, None), pos=(20, 260), size=(320, 60))
global homePageExportQuizButton
homePageExportQuizButton = Button(background_normal='exportquizbtnru.png', size_hint=(None, None), pos=(20, 180), size=(320, 60))
global homePageShareQuizButton
homePageShareQuizButton = Button(background_normal='sharequizbtnru.png', size_hint=(None, None), pos=(20, 100), size=(320, 60))
homePageLayout.add_widget(homePageWelcomeMessageImage)
homePageLayout.add_widget(homePageCreateQuizButton)
homePageLayout.add_widget(homePageStartQuizButton)
homePageLayout.add_widget(homePageDeleteQuizButton)
homePageLayout.add_widget(homePageImportQuizButton)
homePageLayout.add_widget(homePageExportQuizButton)
homePageLayout.add_widget(homePageShareQuizButton)
homePageCreateQuizButton.bind(on_release=SimpleApp.openCreateQuizCmd)
self.add_widget(homePageLayout)
homePageLayoutPlaced = True
def openCreateQuizCmd(SimpleApp, self):
global createQuizNameLayout
createQuizNameLayout = FloatLayout(size=(360, 688))
global createQuizNameImage
createQuizNameImage = Image(source='namequizru.png', size_hint=(None, None), size=(320, 60), pos=(20, 660))
homePageLayout.remove_widget(homePageWelcomeMessageImage)
homePageLayout.remove_widget(homePageCreateQuizButton)
homePageLayout.remove_widget(homePageStartQuizButton)
homePageLayout.remove_widget(homePageDeleteQuizButton)
self.add_widget(createQuizNameLayout)
createQuizNameLayout.add_widget(createQuizNameImage)
homePageLayout.remove_widget(homePageImportQuizButton)
homePageLayout.remove_widget(homePageExportQuizButton)
homePageLayout.remove_widget(homePageShareQuizButton)
def openManagePageCmd(SimpleApp, self):
managePageLayout = FloatLayout(size=(360, 688))
global homePageLayoutPlaced
if homePageLayoutPlaced == True:
homePageLayout.remove_widget(homePageWelcomeMessageImage)
homePageLayout.remove_widget(homePageCreateQuizButton)
homePageLayout.remove_widget(homePageStartQuizButton)
homePageLayout.remove_widget(homePageDeleteQuizButton)
homePageLayout.remove_widget(homePageImportQuizButton)
homePageLayout.remove_widget(homePageExportQuizButton)
homePageLayout.remove_widget(homePageShareQuizButton)
self.remove_widget(homePageLayout)
homePageLayoutPlaced = False
self.add_widget(managePageLayout)
if __name__ == "__main__":
SimpleApp().run()```