Tableaux Maths
Slogan du site

Des cours, des exercices et des vidéos réalisées par des élèves.
Outils numériques en classe et découverte de la programmation.

Kivy : Les bases

Vous trouverez ici comment gérer des boutons, des labels, des input, des layout, des écrans, un canvas, les actions et les collisions.

Article mis en ligne le 7 novembre 2014
dernière modification le 17 novembre 2019

Boutons, labels et TextInput

Dans cet onglet, vous allez voir :

  • Créer et utilser des boutons, labels et inputs
  • Gérer une liste de boutons

Comment insérer et utiliser un bouton, un label et un input.

N’oubliez pas que vous pouvez afficher tous les attributs et méthodes d’un objet avec un print(dir(OBJET)) :

[’__class__’, ’__delattr__’, ’__dict__’, ’__doc__’, ’__eq__’, ’__events__’, ’__format__’,
’__getattribute__’, ’__hash__’, ’__init__’, ’__metaclass__’, ’__module__’, ’__new__’,
’__proxy_getter’, ’__proxy_setter’, ’__pyx_vtable__’, ’__reduce__’, ’__reduce_ex__’,
’__repr__’, ’__self__’, ’__setattr__’, ’__sizeof__’, ’__str__’, ’__subclasshook__’,
’__weakref__’, ’_create_label’, ’_do_press’, ’_do_release’, ’_font_properties’,
’_trigger_texture_update’, ’add_widget’, ’anchors’, ’background_color’,
’background_disabled_down’, ’background_disabled_normal’, ’background_down’,
’background_normal’, ’bind’, ’bold’, ’border’, ’canvas’, ’center’, ’center_x’, ’center_y’,
’children’, ’clear_widgets’, ’cls’, ’collide_point’, ’collide_widget’, ’color’, ’create_property’,
’disabled’, ’disabled_color’, ’dispatch’, ’events’, ’font_name’, ’font_size’, ’get_center_x’,
’get_center_y’, ’get_parent_window’, ’get_property_observers’, ’get_right’,
’get_root_window’, ’get_top’, ’getter’, ’halign’, ’height’, ’id’, ’ids’, ’is_event_type’, ’italic’,
’last_touch’, ’line_height’, ’markup’, ’max_lines’, ’mipmap’, ’on_disabled’, ’on_opacity’,
’on_press’, ’on_ref_press’, ’on_release’, ’on_touch_down’, ’on_touch_move’,
’on_touch_up’, ’opacity’, ’padding’, ’padding_x’, ’padding_y’, ’parent’, ’pos’, ’pos_hint’,
’properties’, ’property’, ’proxy_ref’, ’refs’, ’register_event_type’, ’remove_widget’, ’right’,
’set_center_x’, ’set_center_y’, ’set_right’, ’set_top’, ’setter’, ’shorten’, ’size’, ’size_hint’,
’size_hint_x’, ’size_hint_y’, ’state’, ’text’, ’text_size’, ’texture’, ’texture_size’,
’texture_update’, ’to_local’, ’to_parent’, ’to_widget’, ’to_window’, ’top’, ’trigger_action’,
’uid’, ’unbind’, ’unregister_event_types’, ’valign’, ’width’, ’x’, ’y’]

Boutons, Labels et Inputs : exemples

Une vidéo pour expliquer :

Le code correspondant :

Les liens Kivy pour connaître toutes les propriétés de ces trois objets :

Gérer une liste de boutons :

Vous devez créer de nombreux boutons ?

Pour cela, rien de tel qu’une boucle et une liste de boutons.

Une vidéo d’explication :

Voici le code :

++++

Les Layout

Dans cet onglet, vous trouverez :

Les types de Layout

  • BoxLayout
  • GridLayout
  • FloatLayout
  • Emboîtement de plusieurs Layout

Tous les Layout sont des Widget, ils ont donc un canvas et des propriétés correspondantes.

Un lien vers Kivy pour trouver tous les types de Layout : Layout

Par exemple, pour une BoxLayout :

Le résultat :

[’__class__’, ’__delattr__’, ’__dict__’, ’__doc__’, ’__eq__’, ’__events__’, ’__format__’,
’__getattribute__’, ’__hash__’, ’__init__’, ’__metaclass__’, ’__module__’, ’__new__’,
’__proxy_getter’, ’__proxy_setter’, ’__pyx_vtable__’, ’__reduce__’, ’__reduce_ex__’,
’__repr__’, ’__self__’, ’__setattr__’, ’__sizeof__’, ’__str__’, ’__subclasshook__’,
’add_widget’, ’bind’, ’canvas’, ’center’, ’center_x’, ’center_y’, ’children’, ’clear_widgets’,
’cls’, ’collide_point’, ’collide_widget’, ’create_property’, ’disabled’, ’dispatch’, ’do_layout’,
’events’, ’get_center_x’, ’get_center_y’, ’get_parent_window’, ’get_property_observers’,
’get_right’, ’get_root_window’, ’get_top’, ’getter’, ’height’, ’id’, ’ids’, ’is_event_type’,
’on_disabled’, ’on_opacity’, ’on_touch_down’, ’on_touch_move’, ’on_touch_up’,
’opacity’, ’orientation’, ’padding’, ’parent’, ’pos’, ’pos_hint’, ’properties’, ’property’,
’proxy_ref’, ’register_event_type’, ’remove_widget’, ’right’, ’set_center_x’,
’set_center_y’, ’set_right’, ’set_top’, ’setter’, ’size’, ’size_hint’, ’size_hint_x’,
’size_hint_y’, ’spacing’, ’to_local’, ’to_parent’, ’to_widget’, ’to_window’, ’top’, ’uid’,
’unbind’, ’unregister_event_types’, ’width’, ’x’, ’y’]

Les BoxLayout

Le lien vers Kivy.org : BoxLayout

Un exemple en vidéo :

Voici le code correspondant :

Les GridLayout

Le lien vers Kivy.org : GridLayout

Un exemple de code :

Les FloatLayout :

Le lien vers Kivy.org : FoatLayout

Un exemple :

Le code correspondant :

Emboîter les Layout :

Le code correspondant :

++++

Ecrans et menus déroulants

Vous trouverez dans cet onglet :

Gérer plusieurs écrans

  • ScreenManager

Créer des menus déroulants

  • DropDown
  • Spinner

Gérer plusieurs écrans

Un exemple :

Créer un menu déroulant : Les DropDown

Par Benjamin :

Le code :

La suite prochainement....

++++

Dessiner sur le canvas :

La suite prochainement....

++++

Fonds d’écrans

Vous trouverez ici :

  • Des images en fond d’écran
  • Un canvas en fond d’écran

Des images en fond d’écran :

Un résumé en vidéo :

Si le fond reste le même tout le long de l’exécution du programme, alors un il suffit d’utiliser un FloatLayout :

Avec une image variable :

Un canvas en fond d’écran :

La suite prochainement....

++++

Déplacements et collisions :

Dans cet onglet vous trouverez :

  • 1) Déplacer une balle en touchant l’écran
  • 2) Déplacer en boucle une balle avec des rebonds
  • 3) Mouvements et collisions entre objets :

1) Déplacer une balle en touchant l’écran

2) Déplacer en boucle une balle avec des rebonds :

3) Mouvements et collisions entre objets :

Chaque Widget possède une méthode : collide_widget.

La suite prochainement....