如何在Builder python kivy中设置矩形的ID?

我想有机会在builder中更改或删除矩形,但是出现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()
aazz22 回答:如何在Builder python kivy中设置矩形的ID?

不幸的是,您无法设置画布对象的.toString()。这是一种解决方法:考虑您要更改Rectangle的id属性。在source中设置rectangle_image: "image.gif",然后在矩形中设置FloatLayout。现在,您可以通过其source: self.rectangle_image引用FloatLayout并更改其id变量,它将自动更新Rectangle的rectangle_image属性!

本文链接:https://www.f2er.com/3057249.html

大家都在问