【Kivy】子ウィジェットの並び
- main.py
from kivy.app import App from kivy.uix.button import Button from kivy.clock import Clock class MainApp(App): def on_start(self): # ウィジェット出力 self.__print_widgets() # 指定時間後実行 Clock.schedule_once(self.on_callback, 5.0) def on_callback(self, delta: float): # ウィジェット追加 button = Button() button.text = 'New Button' self.root.add_widget(button) # ウィジェット出力 self.__print_widgets() def __print_widgets(self): for widget in self.root.children: if isinstance(widget, Button): print('button = {}'.format(widget.text)) if __name__ == '__main__': MainApp().run()
- main.kv
#:kivy 1.0 MainWidget: <MainWidget@BoxLayout> Button: text: 'Button 1' Button: text: 'Button 2' Button: text: 'Button 3' Button: text: 'Button 4'
- 結果
【1 回目の出力】 button = Button 4 button = Button 3 button = Button 2 button = Button 1 【2 回目の出力】 button = New Button button = Button 4 button = Button 3 button = Button 2 button = Button 1
後から追加したウィジェットが先に追加される