1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
class Screen1(Screen):
def __init__(self, liste, **kwargs):
self.liste = liste
super(Screen1,self).__init__(**kwargs)
self.switch_button = Button(text="ECRAN 1 : goto 2")
self.switch_button.bind(on_release=self.switch)
self.add_widget(self.switch_button)
def switch(self,*args):
liste = [4,5,6]
#self.manager.get_screen("screen2").list = list(liste)
sc2 = Screen2(liste, name="screen2")
self.manager.current = "screen2"
def on_enter(self):
pass
print ("écran 1 : "+ str(self.liste))
#print (self.list)
class Screen2(Screen):
def __init__(self, liste, **kwargs):
self.liste = liste
maList = liste
print(liste)
print(maList)
super(Screen2, self).__init__(**kwargs)
Layout1 = GridLayout(cols=1, row_force_default=True, row_default_height=40)
self.add_widget(Layout1)
Layout1.switch_button = Button(text="ECRAN 2 : goto 3")
Layout1.switch_button.bind(on_release=self.switch)
Layout1.add_widget(Layout1.switch_button)
Layout1.switch2_button = Button(text="Print List")
Layout1.switch2_button.bind(on_release=self.switch2)
Layout1.add_widget(Layout1.switch2_button)
Layout1.switch3_button = Button(text="Modifier List")
Layout1.switch3_button.bind(on_release=self.switch3)
Layout1.add_widget(Layout1.switch3_button)
Layout1.switch_button = Button(text=str(maList))
Layout1.switch_button.bind(on_release=self.switch)
Layout1.add_widget(Layout1.switch_button)
def switch(self,*args):
self.manager.get_screen("screen3").list = list(self.liste)
self.manager.current = "screen3"
##print(self.list)
def switch2(self,*args):
pass
print(self.liste)
def switch3(self,*args):
self.liste = [8,9,10]
print(self.liste)
class Screen3(Screen):
def __init__(self, liste, **kwargs):
self.liste = liste
def myList(self):
pass
##print(self.list)
super(Screen3,self).__init__(**kwargs)
Layout1 = GridLayout(cols=1, row_force_default=True, row_default_height=40)
self.add_widget(Layout1)
Layout1.switch_button = Button(text="ECRAN 3 : goto 1")
Layout1.switch_button.bind(on_release=self.switch)
Layout1.add_widget(Layout1.switch_button)
Layout1.switch2_button = Button(text="Print List")
Layout1.switch2_button.bind(on_release=self.switch2)
Layout1.add_widget(Layout1.switch2_button)
def switch(self,*args):
self.manager.get_screen("screen1").list = list(self.liste)
self.manager.current = "screen1"
def switch2(self,*args):
pass
print(self.liste)
class MainApp(App):
def build(self):
liste = [1, 2, 3]
sc1 = Screen1(liste, name="screen1")
sc2 = Screen2(liste, name="screen2")
sc3 = Screen3(liste, name="screen3")
self.sm = ScreenManager()
self.sm.add_widget(sc1)
self.sm.add_widget(sc2)
self.sm.add_widget(sc3)
return self.sm
MainApp().run() |