2016-06-13 4 views
0

Я только начал использовать Kivy и задавался вопросом, можно ли дать класс ReferenceListProperty с более чем двумя компонентами? Например, если у меня есть Numeric Properties называется r, g, b и a, и попытаться дать моему классу такое свойствоKivy ReferenceListProperty с более чем двумя аргументами

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

он говорит мне b и a неожиданные аргументы. Я знаю, что могу просто дать ему DictProperty с ключами, эквивалентными NumericProperties, но с 4-мя корнями ReferenceListProperty было бы намного полезнее. Как мне это сделать, и если это невозможно, то какая из них лучшая? Заранее спасибо.

ответ

1

Как указано в kivy docsReferenceListProperty - это свойство, которое позволяет создавать кортеж, содержащий другие свойства. Фактически вы определили r, g, b, a как NumericProperties? Ниже приведен фрагмент кода без ошибок:

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

Да, я думаю, что что-то не так с моим линзером, потому что он кричал на меня, имея 4 аргумента. Спасибо, в любом случае. – ENPM

Смежные вопросы