我是新來的Python和kivy,我試圖通過使使小部件來學習:浮動佈局添加自定義尺寸的部件與Kivy
Main.py文件:
class start(App):
def build(self):
return Holder()
if __name__ == '__main__':
start().run()
代碼:
class Holder(FloatLayout):
def __init__(self, **kwargs):
self.size=(300,300)
super(Holder,self).__init__(**kwargs)
c=Cell()
c.pos=(100,100)
self.add_widget(c)
print(str(c.pos))
d=Cell()
d.pos=(100,0)
self.add_widget(d)
print(str(d.pos))
class Cell(Widget):
def __init__(self, **kwargs):
super(Cell,self).__init__(**kwargs)
with self.canvas:
Color(1, 0, 0)
Rectangle(size=(50, 50))
self.height=50
self.width=50
問題是,althogh我添加了2個不同位置的單元格,我仍然讓它們重疊並且它們都只顯示在角落。
您能否讓我瞭解我出錯的地方。
編輯: 我已經更新了代碼細胞如下:
class Cell(Widget):
rect=Rectangle(size=(50, 50))
def __init__(self, **kwargs):
super(Cell,self).__init__(**kwargs)
self.canvas.add(Color(1, 0, 0))
self.canvas.add(self.rect)
self.bind(pos=self.callback_pos)
def callback_pos(self, value):
self.rect.pos=self.pos
然而,現在我接收到錯誤爲「類型錯誤:callback_pos()採用2的位置參數,但3分別給予」
我已經更新了代碼,但它仍然是一樣的,我沒有在這裏使用KV lang,我只是做了代碼,並且添加了新的代碼來問題,請你糾正我。 – surpavan
看到您的網站,不僅有視頻,但隨着文章將是偉大的 – surpavan
謝謝你分享你的知識,代碼現在工作。 – surpavan