Merhabalar. ScreenManager kullanırken MDDropDownMenu çalışmıyor. Böyle bir hata veriyor. Çözümü nedir?
caller=app.root.ids.button,
File "kivy/properties.pyx", line 964, in kivy.properties.ObservableDict.__getattr__
AttributeError: 'super' object has no attribute '__getattr__'. Did you mean: '__setattr__'?
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivymd.uix.menu import MDDropdownMenu
Builder.load_string("""
<Home_Page>:
MDBoxLayout:
ortientation: "vertical"
Button:
id: button
text: "Menu"
on_press: root.xMenu.menu(app)
Button:
text: "Home_Page"
on_press: root.manager.current = "Settings_Page"
""")
Builder.load_string("""
<Settings_Page>:
Button:
text: "Settings_Page"
on_press: root.manager.current = "Home_Page"
""")
class Menu():
def menu(self, app):
menu_items = [
{
"text": "Ayarlar",
"viewclass": "OneLineListItem",
}
]
menu = MDDropdownMenu(
caller=app.root.ids.button,
items=menu_items,
width_mult=4,
).open()
class Home_Page(Screen):
xMenu = Menu()
class Settings_Page(Screen):
pass
class Main(MDApp):
def build(self):
sm = ScreenManager()
sm.add_widget(Home_Page(name = "Home_Page"))
sm.add_widget(Settings_Page(name = "Settings_Page"))
return sm
Main().run()