[Astuces] Problèmes et solutions dans le développement de python + kivy

Contenu de cet article

Pour rappel, je décrirai les problèmes et les solutions dans le développement de l'application python en utilisant kivy.

Environnement (au 04/04/2020)

OS:macOS Catalina 10.15.3 Version de python utilisée par kivy: 3.6.5 (inclus dans Kivy3.app) Version de python3 affichée par toolchain.py recettes: 3.7.1 (probablement différente) version kivy: 1.10.1

Événement: La version de kivy affichée dans les recettes toolchain.py` est incorrecte.

Détails de l'évènement

Lorsque j'exécute toolchain.py recettes immédiatement après git clone kivy-ios, la version de kivy est affichée comme 18f37ed6e29620ee53c2a7699e0e0894e06a7f91. À.

Que ce passe-t-il

Le numéro de révision de kivy ver1.11.1 (mais pas exactement le numéro de révision) est affiché.

Solution

Puisque la version est solidement écrite dans kivy-ios / recettes / kivy / __ init __. Py, corrigez-la (par exemple, 1.10.1).

Evénement: kivy ne peut pas être exécuté (ʻimport XXX` ne peut pas être exécuté)

Détails de l'évènement

ModuleNotFoundError: Aucun module nommé'kivy._clock' n'est affiché

Que ce passe-t-il

Il semble que «cython» n'ait pas été compilé (selon le message d'erreur).

Solution

Je n'ai pas compris la cause, mais une fois que j'ai supprimé tous les Kivy3.app et les ai réinsérés, cela ne s'est pas produit.

Evénement: le module kivy ne peut pas importer

Détails de l'évènement

Certains modules (par exemple kivy.uix.listview) ne peuvent pas importer

Que ce passe-t-il

Pour une raison quelconque, le module n'est pas stocké dans Kivy3.app.

Solution

Apportez-le de «maître». Juste git clone`` https: // github.com / nuigroup / kivy et copiez les fichiers nécessaires. Si vous avez copié Kivy3.app dans ʻApplications, la destination de la copie est sous / Applications / Kivy3.app / Contents / Resources / kivy`.

Événement: _trigger_reset_populate ne peut pas être utilisé

Détails de l'évènement

J'ai supprimé le message d'erreur, mais on me dit qu'il n'y a pas d'élément _trigger_reset_populate

Que ce passe-t-il

(Probablement) ListView n'est plus disponible.

Solution

Utilisez RecycleView au lieu de ListView. Il existe un échantillon ici [https://github.com/kivy/kivy/tree/master/examples/widgets/recycleview). self.rv.data est une liste qui a un type de dictionnaire comme élément, donc s'il y a plusieurs types de valeurs que vous souhaitez afficher, vous pouvez les stocker dans un élément de type dictionnaire et les transmettre de la même manière que value.

Événement: La position par défaut de «RecycleView» n'est pas la première.

Détails de l'évènement

Si vous affichez RecycleView une fois, faites défiler un peu, revenez en arrière et affichez à nouveau RecycleView, Je veux qu'il soit affiché en haut, mais il affiche l'emplacement une fois défilé par défaut.

Que ce passe-t-il

réduction.

Solution

Définissez scroll_y de RecycleView sur 1. Maintenant, lorsque vous affichez «RecycleView», le haut est toujours affiché.

Phénomène: les paramètres de police ne sont pas reflétés

Détails de l'évènement

Même si j'ai défini la police par défaut selon la procédure de ici, cela n'est pas reflété.

Que ce passe-t-il

Je ne comprends pas vraiment.

Solution

Je n'ai pas pu m'en empêcher, j'ai donc décidé de modifier les paramètres dans le fichier Config. Exemple)

myFont = './fonts/ipaexg.ttf'
Config.set('kivy', 'default_font', ['ipaexg', myFont, myFont, myFont])
Config.write()

Voir ici pour Config. Notez que la default_font est listée dans la section graphics, mais c'est correctement la section kivy (il est indiqué en bas qu'elle a été déplacée de la version 1.10.0 à la section kivy).

Si vous ne connaissez pas la version de kivy, il est rapide de vérifier le fichier config dans ~ / .kivy.

Recommended Posts

[Astuces] Problèmes et solutions dans le développement de python + kivy
L'histoire de Python et l'histoire de NaN
Problèmes et solutions à la demande de MySQL db dans Python 3
Comptez bien le nombre de caractères thaïlandais et arabes en Python
Obtenez le titre et la date de livraison de Yahoo! News en Python
Vérifiez le comportement du destroyer en Python
Le résultat de l'installation de python sur Anaconda
Principes de base pour exécuter NoxPlayer en Python
À la recherche du FizzBuzz le plus rapide en Python
Projet Euler # 1 "Multiple de 3 et 5" en Python
Comparer la grammaire de base de Python et Go d'une manière facile à comprendre
Changer la saturation et la clarté des spécifications de couleur comme # ff000 dans python 2.5
Développement et déploiement de l'API REST en Python à l'aide de Falcon Web Framework
Ouvrez un fichier Excel en Python et coloriez la carte du Japon
Sortie du nombre de cœurs de processeur en Python
Résumé des différences entre PHP et Python
Récupérer l'appelant d'une fonction en Python
Faites correspondre la distribution de chaque groupe en Python
La réponse de "1/2" est différente entre python2 et 3
Afficher le résultat du traitement de la géométrie en Python
Spécification de la plage des tableaux ruby et python
À propos de la différence entre "==" et "is" en python
Conseils pour accéder à l'API ATND avec Python
Découvrez la fraction de la valeur saisie en python
Comparez la vitesse d'ajout et de carte Python
environnement de développement python -utilisation de pyenv et virtualenv-
Trouvez la solution de l'équation d'ordre n avec python
L'histoire de la lecture des données HSPICE en Python
[Note] À propos du rôle du trait de soulignement "_" en Python
Résolution d'équations de mouvement en Python (odeint)
Sortie sous la forme d'un tableau python
Prise en compte des forces et faiblesses de Python
Poursuite du développement multi-plateforme avec Electron et Python
Explication de la distance d'édition et de l'implémentation en Python
À propos des problèmes et des solutions d'OpenPyXL (version Ver 3.0)
traitement (python) Diagramme les coordonnées de la liste Spécifiez le nombre de fois dans draw ()
Python scikit-learn Une collection de conseils de modèles prédictifs souvent utilisés sur le terrain
J'ai comparé la vitesse des expressions régulières en Ruby, Python et Perl (version 2013)
Divise la chaîne de caractères par le nombre de caractères spécifié. En Ruby et Python.
Python scikit-learn Une collection de conseils de modèles prédictifs souvent utilisés sur le terrain
Obtenez le dernier élément du tableau en fractionnant les chaînes en Python et PHP
Astuces Python et Numpy
le zen de Python
Développement de framework avec Python
Environnement de développement en Python
Développement Slackbot en Python
"Régression linéaire" et "Version probabiliste de la régression linéaire" en Python "Régression linéaire de Bayes"
Découvrez la bonne efficacité de calcul de la vectorisation en Python
Le mémo Python le plus simple au Japon (classes et objets)
Recevez le formulaire en Python et faites diverses choses
Comment obtenir le nombre de chiffres en Python
Calcul de l'écart type et du coefficient de corrélation en Python
Problèmes et contre-mesures dans le développement de jeux d'applications pour smartphone Partie 1
Le processus d'installation d'Atom et de l'exécution de Python
L'ancien openssl pose des problèmes dans diverses parties de python
○○ Résolution de problèmes dans le département de mathématiques avec optimisation
Python - Explication et résumé de l'utilisation des 24 meilleurs packages
[python] Récupère la liste des classes définies dans le module