ich bin erst kürzlich in die Welt des Codings wirklich eingetaucht und fühle mich in Python sehr wohl

Ich versuche das Dropdown Menü innerhalb einer Screen-Klasse in meiner kv-Datei zu platzieren. Die Punkte/Buttons des Dropdownmenüs erzeuge ich mit einem loop in meiner py-Datei innerhalb der Hauptklasse des Screens. Dieser Loop liegt in einer Funktion innerhalb der Klasse. Mein Gedanke war es nun einen Button in der kv-Datei zu schreiben, der diese Funktion aufruft. Mein Ansatz erzeugt keine Fehlermeldung allerdings funktioniert sie auch nicht ... Ich habe als alternative auch schon überlegt (da das Dropdown-Menü in jedem Screen platziert wird), ob es seine eigene Hauptklasse in der py-Datei kriegt, da weiß ich aber ebenso wenig, wie ich diese richtig in der kv-Datei aufrufe.
Hier ist mein Python Code:
Code: Alles auswählen
# --- --- --- --- --- Import Area --- --- --- --- --- #
from kivy.app import App
from kivy.uix.dropdown import DropDown
from kivy.uix.button import Button
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.window import Window
# --- --- --- --- --- Default Window Size --- --- --- --- --- #
Window.size = (750, 750)
# --- --- --- --- --- Dictionary of given projects --- --- --- --- --- #
projekte_liste = {"ID01": "Project01",
"ID02": "Project02",
"ID03": "Project03",
"ID04": "Project04",
"ID05": "Project05"}
# --- --- --- --- --- Class definition of screens --- --- --- --- --- #
class OverView(Screen):
ProjektDropdown = DropDown()
# --- DropDown Menu function --- #
def dropdown_menu(self):
self.ProjektDropdown = DropDown()
for projekt_id, projekt_name in projekte_liste.items():
btn = Button(text=projekt_id + " - " + projekt_name, size_hint_y=None, height=25)
btn.bind(on_release=lambda btn: self.ProjektDropdown.select(btn.text))
self.ProjektDropdown.add_widget(btn)
# --- --- --- --- --- Class definition of ScreenManager to manage screens (later) --- --- --- --- --- #
class WindowManager(ScreenManager):
pass
# --- --- --- --- --- App class --- --- --- --- --- #
class TestApp(App):
pass
# --- --- --- --- --- Start App! --- --- --- --- --- #
if __name__ == "__main__":
TestApp().run()
Code: Alles auswählen
#:kivy 1.11.1
WindowManager:
OverView:
<OverView>:
name: "overview"
GridLayout:
cols:3
row_force_default: True
row_default_height: 40
height: self.minimum_height
Button:
text:"Projekt auswählen"
on_release: root.dropdown_menu()
Button:
text:"Neues Thema erstellen"
Button:
text:"Info"
Vielen Dank im Voraus für eure Antworten/Hilfe
