2017-01-18 8 views
0

Я круг, глядя, как этот circleКак изменить форму фрагмента окружности в Kivy

и в моем кв файл:

<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

Используйте атрибут 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()