Здравствуйте.
По устройству приложения на kivy, макет вызывается через метод build. Но я что-то не могу понять, каким образом изменить выведенный макет.
Подскажите, как менять макеты, выведенные на экране.
На примере кода, как нажав на кнопку button1, сменить макет Window1 на Window2?
import kivy
kivy.require('1.11.1')
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
class Window1(FloatLayout):
def __init__(self, **kwargs):
super(Window1, self).__init__(**kwargs)
label = Label(text='label1', pos_hint={'center_x':.5, 'center_y':.6})
button = Button(text='btn1', pos_hint={'center_x':.5, 'center_y':.4},
size_hint=(.4, .3))
self.add_widget(label)
self.add_widget(button)
class Window2(FloatLayout):
def __init__(self, **kwargs):
super(Window2, self).__init__(**kwargs)
label = Label(text='label2', pos_hint={'center_x':.5, 'center_y':.7})
button = Button(text='btn2', pos_hint={'center_x':.5, 'center_y':.3},
size_hint=(.4, .3))
self.add_widget(label)
self.add_widget(button)
class App(App):
def build(self):
return Window1()
App().run()