我想有机会在生成器中更改或删除矩形,但我得到AttributeError。 我怎样才能修好它?我希望你能帮助我
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.image import Image
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.graphics import Color, Rectangle
Builder.load_string('''
<RootWidget>
FloatLayout:
id: layout
canvas.before:
Rectangle:
id: image
size: (100, 180)
pos: (223, 191)
source:'image.gif'
''')
class RootWidget(FloatLayout):
def __init__(self, **kwargs):
super(RootWidget, self).__init__(**kwargs)
self.ids.layout.remove_widget(self.ids.image)
class WindowApp(App):
def build(self):
return RootWidget()
if __name__ == '__main__':
WindowApp().run()
不幸的是,您无法设置画布对象的
id
。下面是一个解决方法:考虑更改矩形的^ {< CD2}}属性。在FloatLayout
中设置rectangle_image: "image.gif"
,然后在矩形中设置source: self.rectangle_image
。现在您可以通过id
引用FloatLayout
并更改其rectangle_image
变量,它将自动更新矩形的source
属性相关问题 更多 >
编程相关推荐