====== Kivy: Apprendre Kivy en images ======
**{{tagpage>kivy|Toutes les pages Kivy}}**
**[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fapprendre_kivy_en_images|English Version]]**
**[[les_pages_kivy_en_details|Les pages Kivy en détails]]**
Cette page illustre l'exemple **[[apprendre_kivy|Apprendre Kivy]]**
{{ :media_02:apprendre-kivy_1.png?400 |L'esthétique n'est pas là pour faire joli, mais pour apprendre !!!}}
**[[https://github.com/sergeLabo/apprendre-kivy/tree/master/apprendre_kivy|Les sources de Apprendre Kivy]]**
**[[https://github.com/sergeLabo/smartcitizen/tree/master/smartcitizen|Les sources de Smartcitizen]]**
=====Vue globale et en parallèle de main.py et apprendrekivy.kv=====
Je crée toujours une class dans le main.py pour chaque widget du *.kv
Donc, jamais d'import dans le kv !
* **[[les_pages_kivy_en_details|Les pages Kivy en détails]]**
* **[[kivy_les_fichiers_kv#le_langage_kivy_dans_les_fichiers_kv|Les fichiers kv]]**
{{ :media_01:apkv_10.svg?800 |}}
=====Un simple widget et appel par l'id=====
* **Appel de l'attribut owner_detail de la class Screen1 depuis la class OwnerInfo**
* **[[kivy_les_fichiers_kv#exemple_de_recuperation_d_une_propriete_d_une_autre_class|Récupération d'une propriété d'une autre class]]**
{{ :media_01:apkv_14.svg?800 |}}
=====Attribut de class=====
titre est un **[[https://programmation360.com/programmation-orientee-objet-python/#Attributs_de_classe_et_methodes_statiques|attribut de class]]**
{{ :media_01:apkv_11.svg?800 |}}
=====Size_hint=====
* **On commence toujours à construire son kv avec des [[kivy_liste_des_elements_graphiques#boxlayout|BoxLayout !!]]**
{{ :media_01:apkv_16.svg?800 |}}
===== Button et couleur de fond d'un BoxLayout =====
* **[[kivy_les_fichiers_kv#le_langage_kivy_dans_les_fichiers_kv|Les fichiers kv]]**
* **[[kivy_liste_des_elements_graphiques| Liste des éléments graphiques]]**
{{ :media_01:apkv_17.svg?800 |}}
===== Slider =====
* **[[kivy_comment_faire_un_tas_de_chose#des_explications_avec_les_exemples_des_sources|Des explications avec les exemples des sources]]**
{{ :media_01:apkv_18.svg?800 |}}
===== Clock pour lancer une boucle infinie =====
* **[[kivy_comment_faire_un_tas_de_chose#des_explications_avec_les_exemples_des_sources|Des explications avec les exemples des sources]]**
{{ :media_01:apkv_19.svg?800 |}}
===== Construction des écrans et du réseau=====
{{ :media_01:apkv_21.svg?800 |}}
===== Le réseau avec Twisted =====
{{ :media_01:apkv_22.svg?800 |}}
===== La config =====
* **Voir la page [[kivy_options_settings|Options Settings]]**
{{ :media_01:apkv_23.svg?800 |}}
===== Clock schedule_once et thread=====
* schedule_once pour retarder l'excécution, et lancer une action après tous les %%__init__()%%
* Thread en deamon
{{ :media_01:apkv_24.svg?800 |}}
===== Création du ScreenManager dans le kv =====
De façon générale, construire le graphisme dans le *.kv est toujours beaucoup plus simple que dans le main.py
{{ :media_01:apkv_25.svg?800 |}}
===== ScrollView =====
* **[[kivy_comment_faire_un_tas_de_chose#des_explications_avec_les_exemples_des_sources|Des explications avec les exemples des sources]]**
{{ :media_01:apkv_27.svg?800 |}}
===== Scatter =====
Pour gérer le touch et multitouch:
* **[[kivy_comment_faire_un_tas_de_chose#des_explications_avec_les_exemples_des_sources|Des explications avec les exemples des sources]]**
{{ :media_01:apkv_30.svg?800 |}}
=====super() en python3=====
super().__init__(**kwargs)
{{tag> kivy python sb }}