kivy&python. ScreenManager, GridLayout и DropDown. AttributeError: 'super' object has no attribute '__getattr__'
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.screenmanager import ScreenManager, Screen
class MyScreenManager(ScreenManager):
pass
class MyGridLayout(Screen):
pass
class TestApp(App):
def build(self):
return MyScreenManager()
if __name__ == '__main__':
TestApp().run()
#:kivy 1.10.1
#:import Factory kivy.factory.Factory
<MyScreenManager>:
id: screenmanager
MyGridLayout:
<CustomDropdown@DropDown>:
id: dropdown
on_select:
app.root.ids.btn.text = '{}'.format(args[1])
self.dismiss()
Button:
id: btn1
text: 'option 1'
size_hint_y: None
height: '48dp'
on_release:
dropdown.select(btn1.text)
Button:
id: btn2
text: 'option 2'
size_hint_y: None
height: '48dp'
on_release:
dropdown.select(btn2.text)
<MyGridLayout>:
GridLayout:
rows: 3
id: main_win
Button:
id: btn
text: 'Press'
on_release: Factory.CustomDropdown().open(self)
size_hint_y: None
height: '48dp'
BoxLayout:
AttributeError: 'super' object has no attribute 'getattr'
Без ScreenManager все работает( пример взят с интернета)
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
class MyGridLayout(GridLayout):
pass
class TestApp(App):
def build(self):
return MyGridLayout()
if __name__ == '__main__':
TestApp().run()
Как я понимаю разница в наследовании класса MyGridLayout...