Kivy: Canvas
De Centre de Ressources Numériques - Labomedia
Révision de 12 décembre 2017 à 11:24 par Serge (discussion | contributions)
Sommaire
Définition
Un canvas, ce n'est pas
- Un trou noir !
- Un puit de potentiel profond
- Une toile infinie
- Identique au html canvas
- Un Rappel à tarte
- Une pipe
Ressources nulles:
- http://kivy.org/docs/guide/graphics.html#introduction-to-canvas Je résume: le canvas c'est comme une toile de tabeau infinie, et voici le code: putain, l'explication elle est où ?
- http://robertour.com/2013/07/19/10-things-you-should-know-about-the-kivy-canvas/ un peu mieux
Un canvas, c'est:
- Un ensemble de fonctions graphiques utilisées dans le fichier kv pour gérer les couches d'affichage.
- canvas.before sera en dessous, vers l'arrière-plan
- canvas est la tranche de jambon du sandwich
- canvas.after sera au dessus, vers l'avant-plan
Exemple: comment définir la couleur de l'arrière-plan d'un Label
Un Label n'a pas d'arrière plan, c'est uniquement un texte. Il faut donc rajouter un truc en dessous qui sera de la couleur désirée.
BoxLayout:
size_hint_y: 0.05
canvas:
Color:
rgba: 0.2, 0.2, 0.2, 1
Label:
text: "Info: {}".format(root.info)
font_size: "16dp"
La propriété 'canvas'
Creating Apps in Kivi Mobile with python: la bonne réponse
- Créez des animations de base en utilisant des canvas et des primitives graphiques.
Widget:
canvas:
Color:
rgb: (1, 1, 1)
Rectangle:
size: self.size
pos: self.pos
Si vous voulez change l'aspect du bouton, vous pouvez vréer votre propre fichier kv et y inclure:
<Button>:
canvas:
Color:
rgb: (1, 0, 0)
Rectangle:
pos: self.pos
size: self.size
Rectangle:
pos: self.pos
size: self.texture_size
texture: self.texture
Cela donnera des boutons avec un fond rouge, avec le label en bas à droite, en supplément de toutes les règles précédentes. Vous pouvez effacer toutes les instructions prcédentes en utilisant la commande clear:
<Button>:
canvas:
Clear
Color:
rgb: (1, 0, 0)
Rectangle:
pos: self.pos
size: self.size
Rectangle:
pos: self.pos
size: self.texture_size
texture: self.texture
Alors ,seules les règles qui suivent la commande clear seront prises en compte.