我试图在kivy 1.10.1
框架中创建一个函数,该函数理论上可以形成一组由多个圆组成的组。它使用给定半径的参数形式计算球体中心的位置。在这种情况下,我想为字母表中的每个字母画一个圆圈。我为每个字母创建了一个新的Letter
小部件,但是每当它试图添加位置属性时,它都会返回一个KeyError: 'A'
,其中有一个我想在self.add_widget(Letter(id=letter))
中分配的键)我试图获取的。在
from kivy.app import App
from kivy.uix.widget import Widget
import math
import string
class Letter(Widget):
pass
class MainWidget(Widget):
def __init__(self, **kwargs):
super(MainWidget, self).__init__(**kwargs)
theta = 0
for letter in string.uppercase:
coord_x = 100 * math.cos(theta)
coord_y = 100 * math.sin(theta)
self.add_widget(Letter(id=letter))
self.ids[letter].center_x = coord_x
self.ids[letter].center_y = coord_y
theta += 360./float(len(string.uppercase))
class MainApp(App):
def build(self):
return MainWidget()
if __name__ == '__main__':
MainApp().run()
self.ids
只保存在kv中创建的小部件的id。在Python中不需要它,因为已经有了对小部件的方便引用:相关问题 更多 >
编程相关推荐