Kivy 文档指定“默认情况下,Kivy 中的每个小部件已经拥有它们的画布”。然而,在实践中,小部件似乎持有对整个窗口的共享画布的引用,而不是只为它们自己拥有一个。
当我使用context_instrucions
of或时Rotate
,这一点变得更加清晰。如果我在一个特定的内部,它将影响后续的小部件。一切似乎都在旋转。在绘制其他任何东西之前,我必须取消画布。此外,它是在旋转的画布中还是在下一个画布中并不重要。指令也是如此。Translate
Scale
Rotate
Widget
Rotate
Color
对这种默认行为强加和例外的唯一方法似乎是RelativeLayout
. 在那种情况下,我刚才所说的一切都与RelativeLayout
除了Color
那些继续是全球性的之外。有人可以说 Color 不是定位指令,RelativeLayout只是相对于位置。Rotate
并且Translate
是位置指示,但它是Scale
吗?
我实际上只是用一个具体的例子完成了一篇博文
我显然遗漏了每个 Widget 的部分都有自己的canvas
. 所以,基本上我的问题是为什么小部件在 Kivy 中似乎共享同一个画布?