Outils pour utilisateurs

Outils du site


apprendre_kivy

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
kivy_2020_apprendre_kivy [2019/12/23 11:16] – [Comment chercher ?] sergeapprendre_kivy [2020/10/19 07:12] (Version actuelle) – Tag0 Added: python Removed: python3,realisations_logicielles serge
Ligne 1: Ligne 1:
-====== Kivy 2020 Apprendre Kivy ====== +====== Kivy: l'exemple Apprendre Kivy ====== 
- +<WRAP center round box 60% centeralign> 
 +**{{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|English Version]]** 
 +</WRAP> 
 +<WRAP center round box 40% centeralign> 
 +**[[les_pages_kivy_en_details|Les pages Kivy en détails]]** 
 +</WRAP>
 <WRAP center round info 40% centeralign> <WRAP center round info 40% centeralign>
 **Avec python 3 exclusivement !** **Avec python 3 exclusivement !**
 </WRAP> </WRAP>
  
-<WRAP center round box 80% centeralign> +<WRAP center round box 60% centeralign> 
-**{{tagpage>kivy|Toutes les pages Kivy}}**+**[[kivy_un_exemple_pour_les_pros_yelen|Un autre exemple: Yelen]]**
 </WRAP> </WRAP>
 +===== Gallerie =====
  
-=====Cet exemple comprend en particulier===== +{{media_02:apprendre-kivy_1.png?200|}} Le fond blanc est carré 
-  * **Un Screen Manager** et écrans+ 
 +{{media_02:apprender-kivy_2.png?200|}} 
 +{{media_02:apprendre-kivy_3.png?200|}} 
 +{{media_02:apprendre-kivy_4.png?200|}} 
 +{{media_02:apprendre-kivy_5.png?200|}} 
 + 
 +{{media_02:apprendre-kivy_6.png?200|}} Seule les valeurs de l'image sans fond blanc sont envoyées 
 + 
 +===Modification des Options=== 
 +{{media_02:apprendre-kivy_7.png?200|}} L'écran Options 
 + 
 +{{media_02:apprendre-kivy_8.png?200|}} Modification d'une valeur 
 + 
 +{{media_02:apprendre-kivy_9.png?200|}} Sélection des options Kivy ou Apprendre Kivy 
 + 
 +{{media_02:apprendre-kivy_10.png?200|}} Les options kivy par défaut 
 + 
 +=====L'exemple Apprendre Kivy comprend en particulier===== 
 +  * **Un Screen Manager** et écrans
   * **Un fichier de configuration** avec chargement, modifications   * **Un fichier de configuration** avec chargement, modifications
-  * **Du réseau avec Twisted TCP et Multicast** [[https://kivy.org/doc/stable/guide/other-frameworks.html|Using Twisted inside Kivy]]+  * **Du réseau avec Twisted TCP et Multicast** **[[https://kivy.org/doc/stable/guide/other-frameworks.html|Using Twisted inside Kivy]]**
   * **Les scripts sont longs parce qu'il incluent de bonnes explications**   * **Les scripts sont longs parce qu'il incluent de bonnes explications**
 +  * **Scatter pour gérer le multitouch avec le tactile**
   * Il faut d'abord être à l'aise avec le **[[https://kivy.org/doc/stable/tutorials/pong.html|Pong de la doc]]** et avec **[[https://kivy.org/doc/stable/tutorials/firstwidget.html|A Simple Paint App]]** pour pouvoir aborder cet exemple.   * Il faut d'abord être à l'aise avec le **[[https://kivy.org/doc/stable/tutorials/pong.html|Pong de la doc]]** et avec **[[https://kivy.org/doc/stable/tutorials/firstwidget.html|A Simple Paint App]]** pour pouvoir aborder cet exemple.
  
Ligne 21: Ligne 46:
   * Dans un moteur de recherche: ça finit souvent par des posts sur stackoverflow, avec des réponses <del>médiocres</del> fausses, uniquement motivées par le gain de points !   * Dans un moteur de recherche: ça finit souvent par des posts sur stackoverflow, avec des réponses <del>médiocres</del> fausses, uniquement motivées par le gain de points !
  
-====Exemples des sources de kivy====+====Une bonne solution: Les exemples des sources de kivy====
   * Télécharger les sources sur [[https://github.com/kivy/kivy|github]]   * Télécharger les sources sur [[https://github.com/kivy/kivy|github]]
   * Dans votre EDI créer un projet avec uniquement les [[https://github.com/kivy/kivy/tree/master/examples|exemples]]   * Dans votre EDI créer un projet avec uniquement les [[https://github.com/kivy/kivy/tree/master/examples|exemples]]
Ligne 27: Ligne 52:
  
  
-===== Les sources sur GitHub ===== +===== Les sources de apprendre-kivy sur GitHub ===== 
-  * **[[https://github.com/sergeLabo/apprendre-kivy|apprendre-kivy]]**+  * **[[https://github.com/sergeLabo/apprendre-kivy|apprendre-kivy]]** avec le [[https://github.com/sergeLabo/apprendre-kivy/raw/master/apprendre_kivy/apprendrekivy-0.25.apk|apk]]
  
-=====Commentaires=====+Comprend aussi: 
 +  * Un serveur pour recevoir les envois du téléphone: [[https://github.com/sergeLabo/apprendre-kivy/blob/master/apprendre_kivy/serverkivy.py|serverkivy.py]] réalisé avec kivy mais prévu pour tourner seulement sur PC. 
 +  * Des [[https://github.com/sergeLabo/apprendre-kivy/tree/master/apprendre_kivy/doc|extraits]] des exemples de la doc officielle 
 + 
 +===Limitation=== 
 +En fait, les réseaux Multicast et TCP tournent en permanence, la modification de cast dans les options bascule de l'un à l'autre.  
 + 
 +Pour arrêter le reactor de twisted: 
 +  reactor.stop() 
 +et pour le relancer (non testé): 
 +  install_twisted_reactor() 
 + 
 +===Bugs=== 
 +Il y en a toujours, en particulier l'affichage en fonction de la taille de l'écran. 
 + 
 +===Le truc tout c..=== 
 +  * Mettre une image avec canal alpha sur un fond blanc dans un BoxLayout !! [[kivy_image_avec_alpha_sur_fond_blanc|Une image avec canal alpha sur un fond blanc dans un BoxLayout]] 
 + 
 +=====Ressources===== 
 +====Installation de kivy==== 
 +  * **[[kivy_introduction|Kivy: Introduction]]** 
 + 
 +====Remarques en désordre====
   * **Pourquoi le *.kv ne fait pas ce que je lui dis de faire ?**   * **Pourquoi le *.kv ne fait pas ce que je lui dis de faire ?**
-Les objets héritent du précédent, qui héritent du précédent ...\\ +Les objets héritent du précédent, qui héritent du précédent ... 
-Canvasclear coupe les héritages, mais ça marche rarement !+  size_hintNone, None 
 +coupe les héritages du size, mais si une valeur n'est pas définie, la valeur par défaut est appliquée: ex size = 100, 100 
 + 
 +La commande magique, très surfaite ! 
 +  Canvas:  
 +      Clear  
   * **Utiliser uniquement des BoxLayout** et des Box plus complexes en dernier recours.   * **Utiliser uniquement des BoxLayout** et des Box plus complexes en dernier recours.
   * **Il est enfin possible de mettre des accents dans le kv !**   * **Il est enfin possible de mettre des accents dans le kv !**
  
-{{tag>kivy_2020 kivy python3 }}+====Tout sur les fichiers kv==== 
 +  * **[[kivy_les_fichiers_kv|Tout sur les fichiers kv]]** 
 +====Tout sur les canvas==== 
 +  * **[[kivy_canvas|Les canvas dans Kivy]]** 
 +====self.app==== 
 +  * **[[kivy_les_fichiers_kv#app|Les fichiers kv: app]]** 
 +app est l'arguement qui permet d'accéder à une class depuis une autre 
 + 
 +<code python> 
 +class ApprendreKivyApp(App): 
 +... 
 +    def on_start(self): 
 +         
 +        reactor.listenTCP(tcp_port, TCPServerFactory(self)) # ce self est l'instance de cette classe 
 +        # ce self est le premier argument de TCPServerFactory() donc app 
 +        # équivaut à 
 +        # TCPServerFactory(app=self) 
 +</code> 
 + 
 +appelle 
 + 
 +<code python> 
 +class TCPServerFactory(Factory): 
 + 
 +    def __init__(self, app):  
 +        self.app = app 
 +</code> 
 +====Permissions Internet==== 
 +  * **[[kivy_comment_faire_un_tas_de_chose#reception_sur_android_en_multicast|Réception sur Android en Multicast]]** 
 +====Compilation avec buildozer==== 
 +**[[kivy_buildozer|Buildozer pour créer une application Android avec un script python]]** exemple avec un Hello World. 
 + 
 +  * Ne pas mettre les modules de la bibliothèque standard python en requirements 
 +  * [[https://github.com/sergeLabo/apprendre-kivy/blob/master/apprendre_kivy/buildozer.spec|buildozer.spec]] 
 + 
 +====Deboggage sur Android==== 
 +  * **[[kivy_buildozer#deboggage_sur_android|Deboggage sur Android]]** 
 + 
 +====plyer pour accéder aux datas Android==== 
 + 
 +  * **[[kivy_plyer|plyer]]** 
 + 
 +====L'écran Options==== 
 +Dans [[https://github.com/sergeLabo/apprendre-kivy/blob/master/apprendre_kivy/main.py|main.py]] et dans la class ApprendreKivyApp(App), voir les méthodes: 
 +  * build_config(self, config) 
 +  * build_settings(self, settings) 
 +  * on_config_change(self, config, section, key, value) 
 + 
 + 
 +{{tag> kivy python sb }} 
apprendre_kivy.1577099800.txt.gz · Dernière modification : 2019/12/23 11:16 de serge