2016-06-13 19 views
0

Ich habe gerade begonnen, Kivy zu verwenden und fragte mich, ob man einer Klasse eine ReferenceListProperty mit mehr als zwei Komponenten geben könnte? wenn ich zum Beispiel genannt Numeric Propertiesr, g, b und a, und versuchen, meine Klasse eine solche EigenschaftKivy ReferenceListProperty mit mehr als zwei Argumente

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

es zu geben, sagt mir b und a unerwartete Argumente sind. Ich bin mir bewusst, ich könnte es einfach geben DictProperty mit Tasten, die der NumericProperties entsprechen, aber mit einem 4-Tupel ReferenceListProperty wäre viel hilfreicher. Wie würde ich dies tun und wenn es nicht möglich ist, was ist die beste Alternative? Danke im Voraus.

Antwort

1

Wie in der kivy docsReferenceListProperty angegeben ist eine Eigenschaft, die die Erstellung eines Tupels mit anderen Eigenschaften ermöglicht. Haben Sie tatsächlich r, g, b, a als NumericProperties definiert? Der folgende Codeausschnitt läuft ohne Fehler:

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

yeah, ich glaube, da war etwas mit meinem linster nicht in Ordnung, denn es schrie mich an, dass ich 4 Argumente hatte. Danke trotzdem. – ENPM

Verwandte Themen