ScreenManager, вложенный внутри BoxLayout, не отображается

Я экспериментирую с Kivy и пытаюсь вставить экземпляр ScreenManager внутри BoxLayout. Проблема, с которой я столкнулась, заключается в том, что ScreenManager и его экран не отображаются, когда ScreenManager является дочерним виджетами BoxLayout.

Этот код показывает черный экран.

from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.label import Label from kivy.uix.screenmanager import Screen, ScreenManager class MenuScreen(Screen): def __init__(self, **kwargs): super(Screen, self).__init__(**kwargs) self.add_widget(Label(text="Some text.")) screen_manager = ScreenManager() screen_manager.add_widget(MenuScreen(name="menu")) class Container(BoxLayout): def __init__(self, **kwargs): super(BoxLayout, self).__init__(**kwargs) self.add_widget(screen_manager) class NestedScreenManagerApp(App): def build(self): """ :return: a BoxLayout with the screen manager nested inside it """ return Container() if __name__ == "__main__": NestedScreenManagerApp().run() 

С другой стороны, этот код (который возвращает ScreenManager непосредственно в виде корневого виджета) работает, и видны MenuScreen и его ярлык. Возвращение ScreenManager в качестве корневого виджета – это то же, что и в примере с примером приложения для экранного менеджера .

 from kivy.app import App from kivy.uix.label import Label from kivy.uix.screenmanager import Screen, ScreenManager class MenuScreen(Screen): def __init__(self, **kwargs): super(Screen, self).__init__(**kwargs) self.add_widget(Label(text="Some text.")) screen_manager = ScreenManager() screen_manager.add_widget(MenuScreen(name="menu")) class RootScreenManagerApp(App): def build(self): """ :return: the screen manager directly """ return screen_manager if __name__ == "__main__": RootScreenManagerApp().run() 

Как я могу заставить ScreenManager и его экран быть видимыми, когда это дочерний виджет моего контейнера (BoxLayout)? Я думаю, что мне не хватает чего-то очень простого.

Я использую Kivy 1.8.0 на Python 2.7.9, работая на Debian Jessie.

 
Interesting Posts for Van-Lav
Python - лучший язык программирования в мире.