kivy_comment_faire_un_tas_de_chose
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
kivy_comment_faire_un_tas_de_chose [2018/09/20 13:26] – [Kivy: Comment faire un tas de chose] serge | kivy_comment_faire_un_tas_de_chose [2020/02/17 15:11] – [Des explications avec les exemples des sources] serge | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ======Kivy: Comment faire un tas de chose====== | + | ======Kivy: Comment faire un tas de chose ====== |
<WRAP center round box 60% centeralign> | <WRAP center round box 60% centeralign> | ||
- | **{{tagpage> | + | **{{tagpage> |
+ | **[[http:// | ||
</ | </ | ||
+ | <WRAP center round box 40% centeralign> | ||
+ | **[[les_pages_kivy_en_details|Les pages Kivy en détails]]** | ||
+ | </ | ||
+ | ===== Comment chercher ? ===== | ||
+ | ====Sur internet==== | ||
+ | * Dans la **[[https:// | ||
+ | * Dans un moteur de recherche: ça finit souvent par des posts sur stackoverflow, | ||
- | ===== Pourquoi | + | ====Une bonne solution: Les exemples des sources de kivy==== |
+ | * Télécharger les sources sur [[https:// | ||
+ | * Dans votre EDI créer un projet avec uniquement les [[https:// | ||
+ | * Rechercher dans les fichiers: si vous chercher " | ||
- | **Kivy masque | + | =====Des explications avec les exemples |
+ | Une liste de scripts qui explique bien: | ||
- | Par exemple: | + | * **pos_hint** |
+ | * **bubble** : [[https:// | ||
+ | * **camera** : [[https:// | ||
+ | * **carousel** : [[https:// | ||
+ | * **mipmap** : [[https:// | ||
+ | * **text_size = textwrap** : [[https:// | ||
+ | * **text with markup** : [[https:// | ||
+ | * **popup** : [[https:// | ||
+ | * **scatter** : [[https:// | ||
+ | * **scrollview** : [[https:// | ||
+ | * **splitter** : [[https:// | ||
+ | * **tabbed panel = onglet** : [[https:// | ||
+ | * **text align** : [[https:// | ||
+ | * **video player** : [[https:// | ||
+ | * **ErrorPopup(Popup)** : [[https:// | ||
+ | * **Slider** : [[https:// | ||
+ | * **Clock** : [[https:// | ||
- | * un argument qui manque dans un appel de méthode lève une erreur pour du python habituel, mais pas dans kivy. D'où un débogage rusé nécessaire ! | ||
- | ===== La commande magique ===== | ||
- | Dans Blender, le raccourcis magique c'est: | ||
- | **[[https:// | ||
- | |||
- | Dans le *.kv, c'est: [[https:// | ||
+ | =====Adapter la résolution dpi sur son PC===== | ||
+ | * Sur votre PC, définir la taille de votre fenêtre | ||
<code python> | <code python> | ||
- | canvas: | + | from kivy.core.window import Window |
- | Clear | + | # Les 3 lignes ci-dessous sont à commenter pour buildozer |
+ | # L' | ||
+ | k = 1.0 | ||
+ | WS = (int(1280*k), | ||
+ | Window.size = WS | ||
</ | </ | ||
+ | Lancer le main.py avec: | ||
+ | KIVY_METRICS_FONTSCALE=1.2 python3 main.py | ||
+ | avec une valeur " | ||
- | ===== Pourquoi définir les attributs comme attributs de classe ? ===== | + | |
+ | =====Comment lister tous les widgets dans le python===== | ||
+ | * **[[https:// | ||
+ | Par exemple, extrait de [[https:// | ||
+ | # Recherche de tous les widgets de self | ||
+ | print([type(widget) for widget in self.walk(loopback=True)]) | ||
+ | # Recherche de tous les widgets de Screen1 | ||
+ | print(self.ids.sm) | ||
+ | f = self.ids.sm.get_screen(" | ||
+ | print([type(widget) for widget in f.walk(loopback=True)]) | ||
+ | |||
+ | Sortie de [type(widget) for widget in self.walk(loopback=True)] dans SmartCitizen() | ||
+ | < | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | <class ' | ||
+ | ...... | ||
+ | </ | ||
+ | =====Comment passer d'une class à une autre===== | ||
+ | En fait, **comment passer d'un objet à un autre !** | ||
+ | |||
+ | Faire des print(de quoi ?). Commencer par | ||
+ | print(dir(self)) | ||
+ | puis dans la liste des méthodes et attributs, ayez de nez. Si app est dans la liste: | ||
+ | print(dir(self.app)) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Pourquoi définir les attributs | ||
**Parce que c'est comme ça ? Quand lama fâché, lui toujours faire ainsi !** | **Parce que c'est comme ça ? Quand lama fâché, lui toujours faire ainsi !** | ||
+ | Voir l' | ||
===== Comment changer la couleur d'un Rectangle ? ===== | ===== Comment changer la couleur d'un Rectangle ? ===== | ||
Ligne 93: | Ligne 162: | ||
... | ... | ||
</ | </ | ||
+ | |||
+ | =====Button background_color===== | ||
+ | <code python> | ||
+ | Button: | ||
+ | background_normal: | ||
+ | background_color: | ||
+ | </ | ||
+ | |||
+ | =====Texte en gras dans un label===== | ||
+ | * **[[https:// | ||
+ | <code python> | ||
+ | Label: | ||
+ | canvas.before: | ||
+ | Color: | ||
+ | rgba: 1, 1, 1, 1 | ||
+ | Rectangle: | ||
+ | pos: self.pos | ||
+ | size: self.size | ||
+ | size_hint_y: | ||
+ | markup: True | ||
+ | text: ' | ||
+ | color: 1, 0, 0.5, 1 | ||
+ | </ | ||
+ | |||
+ | |||
===== Factory ===== | ===== Factory ===== | ||
Factory peut être utilisée pour enregistrer automatiquement toute classe ou module et en instancier des classes n' | Factory peut être utilisée pour enregistrer automatiquement toute classe ou module et en instancier des classes n' | ||
- | * [[http:// | + | |
===== Réception sur Android en Multicast ===== | ===== Réception sur Android en Multicast ===== | ||
Ligne 107: | Ligne 200: | ||
===== Twisted dans kivy ===== | ===== Twisted dans kivy ===== | ||
- | Les 2 API ont un | + | * **[[https://kivy.org/doc/stable/guide/other-frameworks.html|Integrating with other Frameworks]]** propose l'intégration des 2 ! |
- | tourne_pour_toujours() | + | * **Exemple** avec [[apprendre_kivy|Apprendre Kivy]] |
- | pour les lancer. | + | |
- | + | ||
- | Les deux ne peuvent pas tourner dans un thread. | + | |
- | + | ||
- | La solution est: [[https://github.com/kivy/kivy/ | + | |
- | Erreur obtenue | ||
- | _threadselect interface of twisted is not available on Python 3 | ||
- | {{tag> | + | {{tag> |
kivy_comment_faire_un_tas_de_chose.txt · Dernière modification : 2022/11/19 09:49 de serge