Outils pour utilisateurs

Outils du site


apprendre_kivy

Ceci est une ancienne révision du document !


Kivy 2020 Apprendre Kivy

Avec python 3 exclusivement !

Cet exemple comprend en particulier

  • Un Screen Manager et 2 écrans
  • Un fichier de configuration avec chargement, modifications
  • Du réseau avec Twisted TCP et Multicast Using Twisted inside Kivy
  • Les scripts sont longs parce qu'il incluent de bonnes explications
  • Il faut d'abord être à l'aise avec le Pong de la doc et avec A Simple Paint App pour pouvoir aborder cet exemple.

Comment chercher ?

  • Dans la doc officielle, mais les chances de trouver sont quasi nulles.
  • Dans un moteur de recherche: ça finit souvent par des posts sur stackoverflow, avec des réponses médiocres fausses, uniquement motivées par le gain de points !

Une bonne solution: Les exemples des sources de kivy

  • Télécharger les sources sur github
  • Dans votre EDI créer un projet avec uniquement les exemples
  • Rechercher dans les fichiers: si vous chercher “source:”, vous aurez la liste de tous les fichiers qui utilisent “source:”. Si c'est un kv, trouver le .py corespondant pour l'exécuter.

Les sources de apprendre-kivy sur GitHub

Commentaires

Installation de kivy

En désordre

  • 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 …
Canvas: clear coupe les héritages, mais ça marche rarement !

  • Utiliser uniquement des BoxLayout et des Box plus complexes en dernier recours.
  • Il est enfin possible de mettre des accents dans le kv !

Tout sur les fichiers kv

self.app

self.app est une variable globale qui permet d'accéder à une class depuis une autre

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)

appelle

class TCPServerFactory(Factory):
 
    def __init__(self, app): 
        self.app = app

Permissions Internet

Compilation avec 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

Deboggage sur Android

pyjnius pour accéder aux datas Android

TODO supprimer pyjnius dans install kivy créer la page pyjnius

apprendre_kivy.1577623714.txt.gz · Dernière modification : 2019/12/29 12:48 de serge