2016-06-13 1 views
0

Je viens de commencer à utiliser Kivy et je me demandais si on pouvait donner une classe ReferenceListProperty avec plus de deux composants? Par exemple, si j'ai appelé Numeric Propertiesr, g, b et a, et essayer de donner ma classe une telle propriétéKivy ReferenceListProperty avec plus de deux arguments

color = ReferenceListProperty(r, g, b, a) 

il me dit b et a sont des arguments inattendus. Je suis conscient que je pourrais juste lui donner un DictProperty avec des clés équivalentes au NumericProperties, mais avoir un 4-tuple ReferenceListProperty serait beaucoup plus utile. Comment ferais-je cela et si cela ne peut pas être fait, quelle est la meilleure alternative? Merci d'avance.

Répondre

1

Comme indiqué dans le kivy docsReferenceListProperty est une propriété qui permet la création d'un tuple contenant d'autres propriétés. Avez-vous défini r, g, b, a comme NumericProperties? L'extrait de code ci-dessous s'exécute sans erreur:

from kivy.properties import ReferenceListProperty 
from kivy.properties import NumericProperty 

x = someValue 
r = NumericProperty(x) 
b = NumericProperty(x) 
g = NumericProperty(x) 
a = NumericProperty(x) 
color = ReferenceListProperty(r,g,b,a) 
+0

Oui, je pense qu'il y avait quelque chose qui ne va pas avec mon linter parce qu'il me criait d'avoir 4 arguments. Merci quand même. – ENPM