Hier ist ein grundlegendes Beispiel für die Verwendung des Screenmanagers mit zwei Bildschirmen.
from kivy.app import App
from kivy.uix.screenmanager import Screen,ScreenManager
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
class ScreenOne(Screen):
def __init__(self,**kwargs):
super(ScreenOne,self).__init__(**kwargs)
self.box = BoxLayout(orientation='vertical')
self.label1 = Label(text="One label on screen 1")
self.label2 = Label(text="Another label label")
self.button = Button(text="Go to screen 2")
self.button.bind(on_press=self.change_screen)
self.box.add_widget(self.label1)
self.box.add_widget(self.label2)
self.box.add_widget(self.button)
self.add_widget(self.box)
def change_screen(self,*args):
self.manager.current = 'screen2'
class ScreenTwo(Screen):
def __init__(self,**kwargs):
super (ScreenTwo,self).__init__(**kwargs)
self.box = BoxLayout(orientation='vertical')
self.label1 = Label(text="One label on screen 2")
self.label2 = Label(text="Another label label")
self.button = Button(text="Go to screen 1")
self.button.bind(on_press=self.change_screen)
self.box.add_widget(self.label1)
self.box.add_widget(self.label2)
self.box.add_widget(self.button)
self.add_widget(self.box)
def change_screen(self,*args):
self.manager.current = 'screen1'
class MyApp(App):
def __init__(self,**kwargs):
super(MyApp,self).__init__(**kwargs)
self.sm = ScreenManager()
self.sm.add_widget(ScreenOne(name = "screen1"))
self.sm.add_widget(ScreenTwo(name = "screen2"))
def build(self):
return self.sm
if __name__ == "__main__":
MyApp().run()
Haben Sie etwas versucht? Wie sieht dein Code jetzt aus? – EL3PHANTEN
Die Standardmethode zum Anzeigen der Einstellungen scheint 'open_settings()' zu sein, aber nach dem Überprüfen des Rückgabewerts (der boolesch ist) weiß ich nicht, wie das Widget abgerufen werden soll, um den 'Screen'-Instance-Store zu speichern (und anzuzeigen). Kurz gesagt, ich habe nicht explizit versucht, es an den 'Bildschirm' anzuhängen, weil ich nicht sehe, wie man es macht (obwohl die Dokumentation anzeigt, dass es einem' ScreenManager' hinzugefügt werden kann). – FluxIX
Sie möchten also ein Beispiel für die Verwendung von Bildschirmen? – EL3PHANTEN