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/26 12:51] – [Comments] 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> <WRAP center round box 60% centeralign>
-**[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fkivy_2020_apprendre_kivy|English Version]]**+**{{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>
- 
 <WRAP center round info 40% centeralign> <WRAP center round info 40% centeralign>
 **Avec python 3 exclusivement !** **Avec python 3 exclusivement !**
Ligne 9: Ligne 12:
  
 <WRAP center round box 60% 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 29: 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: 
-====Comments====+  * 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 !**
-  * **self.app** est une variable globale qui permet d'accéder à une class depuis une autre 
-  * **[[https://kivy.org/doc/stable/api-kivy.factory.html|Factory]]** [[https://stackoverflow.com/questions/29592280/using-factory-objects-in-kivy|using-factory-objects-in-kivy]] î'm not sure of everything the Factory is used for 
-====Permissions Internet==== 
-===Multicast=== 
-  android.permissions = INTERNET,CHANGE_WIFI_MULTICAST_STATE,ACCESS_NETWORK_STATE,ACCESS_WIFI_STATE 
  
 +====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==== ====Compilation avec buildozer====
-[[kivy_2020_hello_world|Buildozer pour créer une application Android avec un script python]] exemple avec un Hello World.+**[[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   * 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==== ====Deboggage sur Android====
-  * [[https://kivy.org/docs/guide/packaging-android.html|Guide Android]] +  * **[[kivy_buildozer#deboggage_sur_android|Deboggage sur Android]]** 
-<code> + 
-sudo apt-get install adb +====plyer pour accéder aux datas Android==== 
-adb root + 
-adb shell +  * **[[kivy_plyer|plyer]]** 
-kminilte:/sdcard/kivy/TapOSC $ logcat + 
-</code>+====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 }}
  
-{{tag>kivy_2020 kivy python3 }} 
apprendre_kivy.1577364709.txt.gz · Dernière modification : 2019/12/26 12:51 de serge