Outils pour utilisateurs

Outils du site


kivy_comment_faire_un_tas_de_chose

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_comment_faire_un_tas_de_chose [2020/11/13 09:25] – [Comment passer d'une class à une autre] sergekivy_comment_faire_un_tas_de_chose [2022/11/19 09:49] (Version actuelle) – [Sur internet] serge
Ligne 10: Ligne 10:
 ====Sur internet==== ====Sur internet====
   * Dans la **[[https://kivy.org/doc/stable/|doc officielle]]**, mais les chances de trouver sont quasi nulles.   * Dans la **[[https://kivy.org/doc/stable/|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 <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. 
 +  * **[[https://www.geeksforgeeks.org/kivy-tutorial/|geeksforgeeks.org]] est récent et plutôt bien.**
 ====Une bonne solution: Les 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]]
   * 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.   * 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.
-  * +
 ====Gallery of Examples==== ====Gallery of Examples====
 **[[https://kivy.org/doc/stable/examples/index.html|Gallery of Examples]]** Il faut fouiller! **[[https://kivy.org/doc/stable/examples/index.html|Gallery of Examples]]** Il faut fouiller!
Ligne 46: Ligne 46:
   * Sur votre PC, définir la taille de votre fenêtre   * Sur votre PC, définir la taille de votre fenêtre
 <code python> <code python>
-from kivy.core.window import Window +from plyer import utils 
-Les 3 lignes ci-dessous sont à commenter pour buildozer + 
-# L'écran de mon tél fait 1280*720 +from oscpy.client import OSCClient 
-k = 1.+from oscpy.server import OSCThreadServer 
-WS = (int(1280*k), int(720*k)) + 
-Window.size = WS+print("Platform =", utils.platform) 
 +ANDROID = utils.platform._platform_android  # retourne True ou False 
 +print("Android =", ANDROID) 
 +if not ANDROID: 
 +    from kivy.core.window import Window 
 +    Simulation de l'écran de mon tél1280*720 
 +    k = 0.8 
 +    WS = (int(720*k), int(1280*k)) 
 +    Window.size = WS 
 +    os.environ['JAVA_HOME'] = '/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64' 
 + 
 +from jnius import autoclass
 </code> </code>
  
Ligne 115: Ligne 126:
 class Screen2: class Screen2:
     def __init__(self):     def __init__(self):
-        self.app = App.get_running_app() # dans __init__()+        self.app = App.get_running_app()
         # et appel de l'attribut histo de OSC avec         # et appel de l'attribut histo de OSC avec
         self.app.osc.histo         self.app.osc.histo
Ligne 250: Ligne 261:
 ni ni
 requirements = python3,kivy,plyer,numpy,oscpy #,jnius requirements = python3,kivy,plyer,numpy,oscpy #,jnius
 +</code>
 mais mais
 +<code python>
 requirements = python3,kivy,plyer,numpy,oscpy requirements = python3,kivy,plyer,numpy,oscpy
 #,jnius #,jnius
 </code> </code>
-Le buildozer.spec est seulement presque du python. Ce commentaire m'a donné des message d'erreurs avec buildozer parlant de No module named 'encodings'+Le buildozer.spec est seulement presque du python. Ce commentaire maltapropo m'a donné des messages d'erreurs avec buildozer parlant de No module named 'encodings'
  
 =====Bugs===== =====Bugs=====
Ligne 264: Ligne 277:
   sudo apt install xclip   sudo apt install xclip
      
 +=====Comment avoir une action maintenue si maintien d'un Button=====
 +<code python accelerometer.kv>
 +            Button:
 +                id: recul
 +                markup: True
 +                background_color: (0, 1.2, 0, 1)
 +                font_size: "18sp"
 +                text: '[b]<<<[/b]'
 +                on_press: root.do_back_forward(-1)
 +                on_release: root.do_end()
 +            Button:
 +                id: avance
 +                markup: True
 +                background_color: (0, 1.2, 0, 1)
 +                font_size: "18sp"
 +                text: '[b]>>>[/b]'
 +                on_press: root.do_back_forward(1)
 +                on_release: root.do_end()
 +</code>
 +
 +<code python main.py>
 +    def do_back_forward(self, sens):
 +        self.bf = 1
 +        bt = Thread(target=self.back_forward_loop, args=(sens, ), daemon=True)
 +        bt.start()
 +
 +    def back_forward_loop(self, sens):
 +        while self.bf:
 +            sleep(0.1)
 +            self.gap = self.gap + sens*10
 +            if self.gap > 0: self.gap = 0
 +            l = len(self.app.osc.histo_xyz)
 +            if self.gap < -l + 500: self.gap = -l + 500
 +            print("Gap:", self.gap)
 +
 +    def do_end(self):
 +        self.bf = 0
 +</code>
 +
  
 {{tag> kivy python sb }} {{tag> kivy python sb }}
kivy_comment_faire_un_tas_de_chose.1605259527.txt.gz · Dernière modification : de serge