删除、清除或更新 Kivy 中以编程方式定义的小部件

杰西·加尔达梅兹

我创建了一组按钮,其父布局分别是 gridlayout 和 scrollview。我找不到删除网格布局或滚动视图的方法,以便我可以以编程方式重新创建它们并在上一组的位置添加另一组按钮。

我试过 self.remove_widget(layout) 但这没有用。

def create_scrollview(self, dt):
    namelist = ["Name", "Age", "Sex", "Height", "Weight"]
    n = 0
    layout = GridLayout(cols=1, spacing=15, size_hint_y=None, padding=40)
    self.ids['grid'] = weakref.ref(layout)
    layout.bind(minimum_height=layout.setter("height"))
    keys = f(dm.read_name())
    values = dm.read_all()
    temp_dict = dict(zip(keys, values))
    if self.name_instance in temp_dict:
        for element in temp_dict[self.name_instance]:
            layout.add_widget(Button(
                on_release=partial(self.nav_to_char_profile),
                text=str(namelist[n])+": "+str(element),
                font_size=25,
                size=(50, 50), size_hint=(1, None),
                background_normal='normal.png',
                background_down='down.png'))
            self.ids["btn"+str(n)] = partial(weakref.ref)
            n = n+1

    layout.add_widget(Button(on_press=partial(self.nav_to_char_profile), text="Back", font_size=25, size=(50, 50),
                             size_hint=(.50, None),
                             background_normal='normal.png',
                             background_down='down.png'))
    scrollview = ScrollView(size_hint=(1, None), size=(Window.width, Window.height))
    scrollview.add_widget(layout)
    self.ids.container.add_widget(scrollview)

删除并重新创建滚动视图的方法:

    def return_btn_text(self, instance):
        self.store_text_instance(instance)
        self.remove_widget(App.get_running_app().root.ids.BasicProfile.ids.container)
        App.get_running_app().root.ids.BasicProfile.trigger()
杰西·加尔达梅兹

我发现我可以在重新创建之前清除滚动视图:

App.get_running_app().root.ids.BasicProfile.ids.container.clear_widgets()

container 作为滚动视图 ID

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Kivy删除小部件

来自分类Dev

Kivy更新小部件

来自分类Dev

删除 kivy 小部件中的按钮

来自分类Dev

如何立即更新Kivy中的小部件?

来自分类Dev

使用Kivy删除小部件

来自分类Dev

Python:如何在kivy中删除小部件

来自分类Dev

如何在KIVY中删除小部件(标签,按钮等)

来自分类Dev

kivy中的remove_widget不会删除小部件

来自分类Dev

如何在python kivy中删除小部件

来自分类Dev

如何更新TextInput小部件中显示的内容?Python Kivy

来自分类Dev

Kivy-按ID删除小部件

来自分类Dev

在kivy中添加小部件

来自分类Dev

如何以编程方式清除ConstraintLayout中的小部件(例如ImageView)的约束?

来自分类Dev

在Kivy应用中重用自定义小部件

来自分类Dev

Symfony小部件在渲染时以编程方式清除标签

来自分类Dev

Kivy从GridLayout中添加和删除窗口小部件的参考功能较弱

来自分类Dev

如何从 kivy 中的另一个页面删除小部件

来自分类Dev

在 Kivy 应用程序 python 中删除小部件之间的空间

来自分类Dev

使用Clock.Interval更新Kivy中的可重用标签小部件

来自分类Dev

如何在Kivy中自动更新小部件上的文本?

来自分类Dev

更改根对象时更新Kivy小部件

来自分类Dev

更新 python kivy 小部件 - 从课堂之外 - 好的做法?

来自分类Dev

运行代码时更新kivy小部件的属性

来自分类Dev

更新Kivy中子对象小部件的位置(Python不是.kv)

来自分类Dev

修改后的kivy散布小部件不会更新转换

来自分类Dev

KIVY DragBehavior自定义小部件

来自分类Dev

Kivy 自定义小部件行为

来自分类Dev

如何使球小部件被kivy中的矩形小部件偏转?

来自分类Dev

Kivy 如何访问子小部件中的小部件

Related 相关文章

热门标签

归档