如何在add_widget

问题描述

我想删除功能1中的add_widget()动态添加的小部件,而不是在kv文件中,我的问题是,当我尝试添加ID时,我无法赋予小部件ID以在功能2中将其删除,该ID并未显示在root的ids属性中,并且在调试工具的root小部件的子级中也找不到它,就像它不存在一样,即使它显示在屏幕上。 我想知道如何创建和添加小部件并使用ID对其进行访问。

self.root.get_screen('Third').add_widget(MDLabel(
                                                # id='titlesolution',text=f"Solutions",theme_text_color="Hint",halign='center',pos_hint={'center_x': 0.5,'center_y': 0.42}))

解决方法

id是kv语言的东西,从Python实例化时没有等效的id属性。原因是id在Python端会多余,因为您会自动引用您实例化的任何Widget。

如果您想给小部件一个标识符,可以使用您喜欢的任何属性名称并将其添加到类中。

如果要访问小部件的子级,请尝试widget.children直接浏览列表。

该ID未显示在根目录的ids属性中

Python方面没有明确的根源。