Canvas'a Deger Atama Olayi

Merhabalar,

Asamadigim bir sorun var.Soyle ki:

Asagidaki kodu calistirdiginizda

from kivy.app import App
from kivy.lang import Builder

kv = """

BoxLayout:
    orientation: "vertical"
    my_colors: app.a1,app.a2,app.a3,app.a4
    canvas.before:
        Color:
            rgba: self.my_colors
        Rectangle:
            pos: self.pos
            size: self.size
"""

class d(App):
    def build(self):
        self.a1 = 0.5
        self.a2 = 0.7
        self.a3 = 0.222222
        self.a4 = 0.3456
        return Builder.load_string(kv)
                
d().run()

asagidaki sekilde hata veriyor:

File "/data/user/0/ru.iiec.pydroid2/files/arm-linux-androideabi/lib/python2.7/site-packages/kivy/lang/builder.py", line 831, in _build_canvas
     '{}: {}'.format(e.__class__.__name__, e), cause=tb)
 kivy.lang.builder.BuilderException: Parser: File "<inline>", line 8:
 ...
       6:    canvas.before:
       7:        Color:
 >>    8:            rgba: self.my_colors
       9:        Rectangle:
      10:            pos: self.pos
 ...
 TypeError: 'NoneType' object is not iterable
   File "/data/user/0/ru.iiec.pydroid2/files/arm-linux-androideabi/lib/python2.7/site-packages/kivy/lang/builder.py", line 826, in _build_canvas
     setattr(instr, key, value)
   File "kivy/graphics/context_instructions.pyx", line 262, in kivy.graphics.context_instructions.Color.rgba.__set__ (kivy/graphics/context_instructions.c:6428)

Benim amacim su:

d adli ana sinif icinden aldigim bazi degerleri kullanarak BoxLayout un arkaplan rengini belirlemek.Ama gordugunuz gibi NoType is not iterable gibi bir hata firlatiyor.Bu hatayi asmak icin neler yapabilirim?

Cozum bulundu.