import App from kivy.uix.button import Button from kivy.uix.boxlayout import BoxLayout class SimpleApp(App): def build(self): layout = BoxLayout(orientation='vertical') btn = Button(text='Hello World') btn1 = Button(text="Welcome to edureka") layout.add_widget(btn) layout.add_widget((btn1)) return layout if __name__ == "__main__": SimpleApp().run()
Il honore les propriétés size_hint et pos_hint de ses widgets enfants.
from kivy.app import App from kivy.uix.scatter import Scatter from kivy.uix.label import Label from kivy.uix.floatlayout import FloatLayout class SimpleApp(App): def build(self): f = FloatLayout() s = Scatter() l = Label(text="Edureka!", font_size=150) f.add_widget(s) s.add_widget(l) return f if __name__ == "__main__": SimpleApp().run()
Il organise les widgets enfants dans une boîte.
from kivy.app import App from kivy.uix.button import Button from kivy.uix.gridlayout import GridLayout class SimpleApp(App): def build(self): layout = GridLayout(cols=2) layout.add_widget(Button(text='hello')) layout.add_widget(Button(text='world')) layout.add_widget(Button(text='welcome to')) layout.add_widget(Button(text='edureka')) return layout if __name__ == "__main__": SimpleApp().run()
Il est utilisé pour créer une mise en page multi-pages.
from kivy.app import App from kivy.uix.button import Button from kivy.uix.pagelayout import PageLayout class SimpleApp(App): def build(self): layout = PageLayout() layout.add_widget(Button(text='hello',background_color=(1,0,0,1))) layout.add_widget(Button(text='world',background_color=(0,1,0,1))) layout.add_widget(Button(text='welcome to',background_color=(1,1,1,1))) layout.add_widget(Button(text='edureka',background_color=(0,1,1,1))) return layout if __name__ == "__main__": SimpleApp().run()
Il vous permet de définir des coordonnées relatives pour les widgets enfants.
from kivy.app import App from kivy.uix.relativelayout import RelativeLayout from kivy.uix.boxlayout import BoxLayout from kivy.uix.button import Button from kivy.uix.label import Label from kivy.lang import Builder res = Builder.load_string('''BoxLayout: Label: text: 'Left' Button: text: 'Middle' on_touch_down: print('Middle: {}'.format(args[1].pos)) RelativeLayout: on_touch_down: print('Relative: {}'.format(args[1].pos)) Button: text: 'Right' on_touch_down: print('Right: {}'.format(args[1].pos))''') class SimpleApp(App): def build(self): return res if __name__ == "__main__": SimpleApp().run()
Production:
Il est implémenté comme une disposition flottante à l'intérieur d'un scatter. Vous pouvez repositionner les widgets à l'aide de la mise en page scatter.
from kivy.app import App from kivy.uix.scatterlayout import ScatterLayout from kivy.uix.label import Label class SimpleApp(App): def build(self): s = ScatterLayout() l = Label(text='edureka') s.add_widget(l) return s if __name__ == "__main__": SimpleApp().run()
Il organise les widgets horizontalement ou verticalement et autant qu'il peut en contenir.
from kivy.app import App from kivy.uix.stacklayout import StackLayout from kivy.uix.button import Button class SimpleApp(App): def build(self): root = StackLayout() for i in range(25): btn = Button(text=str(i), width=100 + i * 5, size_hint=(None, 0.15)) root.add_widget(btn) return root if __name__ == "__main__": SimpleApp().run()
Maintenant que nous en avons terminé avec les mises en page, jetons un coup d'œil aux widgets Behavior dans Kivy.
Ces widgets ne font aucun rendu mais agissent sur les instructions graphiques ou le comportement d'interaction (tactile) de leurs enfants.
Scatter est utilisé pour créer des widgets interactifs qui peuvent être tournés, mis à l'échelle avec deux doigts ou plus sur un système multitouch.
from kivy.app import App from kivy.uix.scatter import Scatter from kivy.uix.image import Image class SimpleApp(App): def build(self): s = Scatter() s.add_widget(Image(source="logo.png")) return s if __name__ == "__main__": SimpleApp().run()
La vue Stencil limite le dessin des widgets enfants au cadre de délimitation d'une vue Stencil. Dans l'exemple, nous utilisons un simple widget d'étiquette. La vue stencil est mieux utilisée lorsque nous dessinons dans un canevas et limite les activités à une zone limitée de l'application plutôt qu'à la fenêtre entière.
from kivy.app import App from kivy.uix.stencilview import StencilView from kivy.uix.label import Label from kivy.uix.scatter import Scatter class SimpleApp(App): def build(self): s = StencilView() sc = Scatter() s.add_widget(sc) sc.add_widget(Label(text='edureka')) return s if __name__ == "__main__": SimpleApp().run()
C'est un widget qui permet de gérer plusieurs écrans pour votre application. Il utilise une base de transition pour passer d'un écran à l'autre.
from kivy.app import App from kivy.base import runTouchApp from kivy.lang import Builder from kivy.properties import ListProperty from kivy.uix.boxlayout import BoxLayout from
Découvrez nos actualités, conseils et tutoriels pour rester à jour
_set est associé à une relation i...
Concept vraiment simple aujourd'hui les gars! U...
Découvre Capacitor, le dernier-né...
Distribuer une application Django à des...
Inscription en cours...
Restez informé de nos dernières actualités et recevez nos meilleurs conseils !
Chargement du formulaire de devis...