我正在学习如何用Kivy创建一个应用程序,我发现当我使用Python语言时,这个应用程序看起来是不同的。
我想做的是把背景染成红色。使用Python时,在左下角有一个红色小框(可能是默认的100 Python小部件大小)。当我使用kv文件时,我会得到整个背景颜色为红色。
这是我的python代码-
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import *
class MyWidget(Widget):
def __init__(self, **kwargs):
super(MyWidget, self).__init__(**kwargs)
with self.canvas:
Color(1,0,0,1)
Rectangle(size = self.size, pos = self.pos)
class MyWidgetApp(App):
def build(self):
x = MyWidget()
return x
pass
if __name__ == "__main__":
MyWidgetApp().run()
这是我的kv文件
<MyWidget@Widget>:
canvas:
Color:
rgba: 1, 0, 0, 1.0
Rectangle:
size: self.size
pos: self.pos
这一切为什么要发生?如何设置Python中的背景色?我在Linux机器上使用Python2.7
发布于 2014-11-13 18:21:42
问题是kv自动进行绑定以更新红色矩形的位置和大小,而python没有(也不能)。您必须使用bind
方法来创建您自己的绑定。我有一篇关于这个这里的博客文章--巧合的是,它正好提到了你的例子。
https://stackoverflow.com/questions/26915054
复制相似问题