如何在生成器python kivy中设置矩形的id?

2024-04-27 00:21:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想有机会在生成器中更改或删除矩形,但我得到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()

Tags: fromimageimportselfidappdefbuilder
1条回答
网友
1楼 · 发布于 2024-04-27 00:21:33

不幸的是,您无法设置画布对象的id。下面是一个解决方法:考虑更改矩形的^ {< CD2}}属性。在FloatLayout中设置rectangle_image: "image.gif",然后在矩形中设置source: self.rectangle_image。现在您可以通过id引用FloatLayout并更改其rectangle_image变量,它将自动更新矩形的source属性

相关问题 更多 >