我对Kivy相当陌生,并且有一些关于小工具的问题。 几个月前,我开始与Kivy搞混了。我读过一些文档,但我可能错过了很多东西。Kivy创建小工具的新实例
是否可以使用自己的属性创建同一个窗口小部件类的多个实例?
我的目标是有几个矩形,我可以调整大小并独立拖动。
我正在学java班,所以我会比较一下我在该班学到的东西: 例如,假设我有一个基本的rect.java类,它设置为在宽度和高度上使用两个变量。
所以在我的主要的.java代码文件我会写这样的事情来创建矩形类的几个例子:
rect s1 = new rect(2,3); // width & height
rect s2 = new rect(5,4);
然后,s1.height和s2.height会有不同的值。
Kivy有可能实现类似的功能吗?现在我有很多个教学班,在我.kv文件中设置了相同的属性:
<rect1>:
canvas:
Color:
rgba: 1, 0, 1, 0.5
Rectangle:
pos: root.center_x - root.width/2,root.center_y - root.height/2
size: self.size
<rect2>:
canvas:
Color:
rgba: 1, 1, 0, 0.5
Rectangle:
pos: root.center_x - root.width/2,root.center_y - root.height/2
size: self.size
<rect3>:
canvas:
Color:
rgba: 0, 1, 0, 0.5
Rectangle:
pos: root.center_x - root.width/2,root.center_y - root.height/2
size: self.size
我写的代码在我的.py文件也被调整并拖累各地。现在,我复制/修改了代码以处理每个额外的类。
现在,如果我使用:
Window.add_widget(rect1)
这将直接对上了年纪一个顶部创建一个新的实例,但他们仍然共享相同的坐标和其他特性等。如果我与我的鼠标拖动,该类的所有实例都遵循相同的坐标。再次,我的目标是有多个矩形,我可以调整大小并独立拖动。