kivy:改变颜色而不改变alpha

时间:2016-09-25 21:37:41

标签: python colors kivy alpha

在以下代码中,椭圆显示时没有透明度 (阿尔法= 1)。可能在self.color更改时,alpha设置为1(有趣的是 如果在设置方法中将颜色设置为(1,1,1),则不会发生这种情况。

有没有办法在不改变alpha的情况下改变颜色?

我想在kv文件中设置alpha并从python中更改颜色。

由于

alpha.kv:

#:kivy 1.9.1

<MyWidget>:
    color: 1,1,1
    canvas:
        Color:
            hsv: self.color
            a: 0.3
        Ellipse:
            pos: (200, 200)
            size: (30, 30)

main.py:

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import NumericProperty, ReferenceListProperty

class MyWidget(Widget):
    colorH = NumericProperty(1)
    colorS = NumericProperty(1)
    colorV = NumericProperty(1)
    color = ReferenceListProperty(colorH,colorS,colorV)

    def setup(self):
        self.color = (0.5,1,1)
#        self.color = (1,1,1) # here the alpha doesn't change

class AlphaApp(App):
    def build(self):
        w = MyWidget()
        w.setup()
        return w

if __name__ == '__main__':
    AlphaApp().run()

0 个答案:

没有答案