如何在Kivy中改变圆形片段的形状

时间:2017-01-18 22:05:42

标签: kivy kivy-language

我的圈子看起来像circle

并在我的kv文件中:

<FragmentOfCircle>:
    size: self.size
    canvas:
        Color:
            rgb: (0.7, 0, 1)
        Line:
            width: self.circlewidth
            circle:
                (self.center_x, self.center_y, min(self.width, self.height),
                0,60)

我有六个片段,我想在片段相互连接的地方改变它们的形状。 比如...... like this

但如何改变这种形状

1 个答案:

答案 0 :(得分:1)

使用cap属性。将其设置为'none'
尝试这样的事情:

from kivy.uix.widget import Widget
from kivy.app import App
from kivy.graphics import Line, Color


class Circle(Widget):

    def __init__(self,**kwargs):
        super(Circle,self).__init__(**kwargs)
        segments = 12
        seg = 360/segments
        with self.canvas:
            for i in range(1,segments+1):
                Color(1.0/segments*i,1,1,mode="hsv")
                Line(circle=[200,200,100,
                             seg*i-1,
                             seg*i+seg],
                             width=15, cap="none")

class MyApp(App):

    def build(self):
        return Circle()


MyApp().run()