ウェジェットの切り替え
2015/10/25
Python 2.7.9, Kivy 1.9.0
動的にレイアウトに追加するウィジェットを変更することで、切り替えできる。でもこれだと何にもエフェクトないので、かっこよくするならCarouselとかScreenManagerとかを使う。 本格的にマルチスクリーンのアプリにする場合はScreen Managerを使った方が良いっぽい。
Screen Manager
http://kivy.org/docs/api-kivy.uix.screenmanager.html
動的にレイアウトに追加するウィジェットを変更
# -*- coding: utf-8 -*-
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class MyApp(App):
def build(self):
self.layout = BoxLayout(orientation='vertical')
self.b1 = Button(text='Button1')
self.b1.bind(on_press=self.switch1)
self.b2 = Button(text='Button2')
self.b2.bind(on_press=self.switch2)
self.layout.add_widget(self.b1)
return self.layout
def switch1(self, event):
self.layout.clear_widgets()
self.layout.add_widget(self.b2)
def switch2(self, event):
self.layout.clear_widgets()
self.layout.add_widget(self.b1)
if __name__ == '__main__':
MyApp().run()
Switching kivy widgets
http://stackoverflow.com/questions/14699280/switching-kivy-widgets