from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button from kivy.uix.label import Label from kivy.uix.textinput import TextInput class Ecran(BoxLayout): def build(self): self.orientation='vertical' self.spacing=20 self.Un_Bouton() self.Un_Label() self.Un_Input() def Un_Bouton(self): #On cree un bouton: self.Bouton1=Button() #On lui donne des proprietes: #Un texte: self.Bouton1.text='Clique sur ce bouton pour changer le texte' #Une taille en pourcentages: self.Bouton1.size_hint=(0.5,0.15) #Une position: self.Bouton1.pos_hint={'right': 0.75} #Une couleur de fond: self.Bouton1.background_color=[0,1,0,1] #On l'associe a une fonction: self.Bouton1.bind(on_press=self.Une_Fonction_Bouton) #On l'ajoute au layout principal: self.add_widget(self.Bouton1) def Un_Label(self): #On cree un label avec toutes ses proprietes: self.Label1=Label(text="Texte du label",font_size=30, color=[1,0,0,1]) #On l'ajoute au layout principal: self.add_widget(self.Label1) def Un_Input(self): #On cree un Input avec des ses proprietes: self.Input1 = TextInput(text="Texte initial... à changer",font_size=30) #On ajoute des proprietes (une largeur de 50% et une hauteur de 20%) self.Input1.size_hint_x=0.5 self.Input1.size_hint_y=0.2 #On l'ajoute au layout principal: self.add_widget(self.Input1) def Une_Fonction_Bouton(self,instance): #On peut changer le texte du bouton: #la variable "instance" correspond au bouton qui a ete presse instance.text="Bravo ! Tu as cliqué sur moi" #On peut changer le texte du label: self.Label1.text=self.Input1.text # on reinitialiser le contenu du Input self.Input1.text="Texte initial... à changer" class Menu(App): def build(self): Layout=Ecran() Layout.build() return Layout if __name__ == '__main__': Menu().run()