У меня проблема с моим кодом, я пытаюсь использовать MDToolBar, который содержится в значке, я хочу, чтобы при щелчке по этому значку отображалось MDDropDownMenu, когда я щелкаю по нему, появляется эта ошибка 'NoneType' object has no attribute 'to_window'
если кто-нибудь знает как это решить !! какие-либо предложения !! проблема существует именно в функциях MyApp Class this is main.py
from kivy.lang import Builder
from kivy.uix.screenmanager import Screen
from kivymd.color_definitions import colors
from kivy.core.window import Window
from kivymd.uix.boxlayout import BoxLayout
Window.size = (360, 600)
class Scanner(Screen):
pass
class Connecter(Screen):
pass
class Search(Screen):
pass
class Inscrire(Screen):
pass
class Apropos(Screen):
def back_to_scanner(self):
self.manager.current = 'scanner'
pass
class Setting(Screen):
pass
class MyApp(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
dropdown = ObjectProperty()
def on_start(self):
# Create the dropdown menu
self.dropdown = MDDropdownMenu(width_mult=2)
# Add items to the menu
for i in range(6):
self.dropdown.items.append(
{"viewclass": "MDMenuItem",
"text": "Option " + str(i),
"callback": self.option_callback}
)
def option_callback(self, text_of_the_option):
print(text_of_the_option)
def build(self):
self.theme_cls.primary_palette = "DeepPurple"
return Builder.load_file("main.kv")
MyApp().run()
, а это main.kv
#:include kv/inscrire.kv
#:include kv/connecter.kv
<MDMenuItem>:
on_release: app.change_variable(self.text)
NavigationLayout:
id: nav_layout
# ScreenManager:
ScreenManager:
id: screen_manager
Connecter:
id: connecter
name: "connecter"
Inscrire:
id: inscrire
name: "inscrire"
Screen:
BoxLayout:
orientation: 'vertical'
Scanner:
id: scanner
name: "scanner"
MDToolbar:
title: "Scanner"
elevation: 10
left_action_items: [['menu', lambda x: nav_drawer.set_state()]]
right_action_items: [['magnify', lambda x: scanner.go_to_search()],['dots- vertical',lambda x: app.dropdown.open(x)]]
pos_hint: {'center_x': .5, 'top': 1}