如何在 kivy 中的应用程序的文件中保存和加载设置?

问题描述 投票:0回答:2

我一直在使用配置对象来存储和检索 kivy 中应用程序的设置。问题是配置对象是全局的,并且是为系统中的所有 kivy 应用程序设置的。

我目前使用的是什么:

from kivy.config import config

...App code

class UserAPP(App);
    def build(self)

    def build_config(self, config)
        config.setdefaults() #multiple key,value pairs


我已经在 kivy 文档中搜索了执行此操作的方法,也许我在错误的位置或错误的术语中搜索。

我的问题是:如何将设置/信息保存到一个文件中,该文件可以在启动时加载并在关闭时保存,该文件是每个应用程序的本地文件?

python kivy
2个回答
0
投票

你可以这样做:

from kivy.config import Config
Config.read('myApp.ini`)

然后操作

Config
后,您可以使用以下方法将其保存到同一文件中:

Config.write()

0
投票

在您的 App 类中,您可以覆盖

get_application_config
并提供您自己的逻辑来确定 ini 文件的位置。

例如,您可以将配置文件存储在应用程序的数据目录中,至少在 Linux 上,该目录应该更合适,因为它是 XDG 位置。

    import os
    def get_application_config(self, default_path=''):
        """
        override the base implementation to use the user_data_dir, which will be the proper location for app data
            for linux, it is XDG based location, on Windows the APPDATA location, etc.
        """
        default_path = os.path.join(self.user_data_dir, '%(appname)s.ini')
        app_config_path = super().get_application_config(default_path)
        return app_config_path
© www.soinside.com 2019 - 2024. All rights reserved.