Düzeni bir düzen içinde ortalamak için çalışıyorum. Şu anda bazı doldurma hesaplamaları yapıyorum, ama aynı zamanda daha iyi bir yol arıyorum ve önceden tanımlanmış düzenlerden birinin daha iyi bir seçenek olabileceğini hayal ediyorum.Kivy'de bir nesneyi ortalamak
geniş düzenleri için:
Yani
, bu harika doğru davranış, İşte benim kod kare düzenleri için
... üretiyor ne . Ama daha iyi bir yolu var mı? (Bu örneğin olmayan çember şekilleri ile dağınık almak hayal edebilirsiniz.)
İştebenim kod:
#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')
from random import random
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.gridlayout import GridLayout
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.relativelayout import RelativeLayout
from kivy.graphics import Color, Ellipse, Rectangle
class MinimalApp(App):
title = 'My App'
def build(self):
root = RootLayout()
return(root)
class RootLayout(AnchorLayout):
pass
class Circley(RelativeLayout):
pass
if __name__ == '__main__':
MinimalApp().run()
Ve KV:
#:kivy 1.7.2
#:import kivy kivy
<RootLayout>:
anchor_x: 'center' # I think this /is/ centered
anchor_y: 'center'
canvas.before:
Color:
rgba: 0.4, 0.4, 0.4, 1
Rectangle:
pos: self.pos
size: self.size
Circley:
anchor_x: 'center' # this is /not/ centered.
anchor_y: 'center'
canvas.before:
Color:
rgba: 0.94, 0.94, 0.94, 1
Ellipse:
size: min(self.size), min(self.size)
pos: 0.5*self.size[0] - 0.5*min(self.size), 0.5*self.size[1] - 0.5*min(self.size)
Label:
text: unicode(self.size) # this is /not/ appearing
color: 1,0,0,1