Outils pour utilisateurs

Outils du site


apprendre_kivy

Ceci est une ancienne révision du document !


Kivy l'exemple Apprendre Kivy

Avec python 3 exclusivement !

L'exemple Apprendre Kivy 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

Remarques 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 …

size_hint: None, 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.
  • Il est enfin possible de mettre des accents dans le kv !

Tout sur les fichiers kv

Tout sur les canvas

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 travailler la page pyjnius

apprendre_kivy.1577954463.txt.gz · Dernière modification : 2020/01/02 08:41 de serge