首页 > 解决方案 > 如何在 KivyMD 中保存用户的输入

问题描述

我制作了一个简单的应用程序来收集用户的输入并将其排列为列表,但我该如何保存它。我想保存用户的输入,所以每当应用程序启动时,之前的输入都是可用的。我认为 with 与kivy.json或类似的东西有关(我真的不知道),但我不知道如何实现它。

我真的很感激任何帮助,在此先感谢!

这是我的 main.py 文件。

from kivymd.app import MDApp
from kivymd.uix.list import OneLineIconListItem, IconLeftWidget
from kivy.core.window import Window


Window.size = (300, 530)


class MainApp(MDApp):
    def build(self):
        self.theme_cls.primary_palette = 'Gray'
        self.theme_cls.primary_hue = '200'
        self.theme_cls.theme_style = 'Dark'

    def add_item(self, text):
        new_list_item = OneLineIconListItem(text=text)
        new_list_item.add_widget(
            IconLeftWidget(icon="pin")
        )
        self.root.ids.listcontainer.add_widget(new_list_item)
        self.root.ids.listinput.text = ''


if __name__ == "__main__":
    app = MainApp()
    app.run()

这是我的 .kv 文件

MDBoxLayout:
    orientation: 'vertical'
    id: box
    MDToolbar:
        title: 'MyApp'
        pos_hint: {'top': 1}

    MDTextField:
        id: listinput
        hint_text: 'Add Item'
        mode: 'rectangle'
        size_hint_x: .9
        pos_hint: {'center_x': .5}
        text_validate_unfocus: False
        on_text_validate: app.add_item(listinput.text)

    ScrollView:
        MDGridLayout:
            cols: 1
            adaptive_height: True

            MDList:
                id: listcontainer

非常感谢您的帮助,非常感谢您的帮助。

标签: python-3.xkivykivy-languagekivymd

解决方案


推荐阅读