刷新设置屏幕/更新配置上的SettingsItem更改

时间:2018-02-01 15:15:46

标签: python kivy

我有一些通过json文件创建的设置面板。如果用户更改了某个设置,我使用on_config_change来评估用户的操作。现在是棘手的部分: 根据用户的选择,我需要更新其他设置。问题是,我可以在配置中写东西,下次打开设置时会读取新的配置,但我真的无法找到任何方法来“刷新”设置屏幕并立即显示更新,我已经完成了配置。

这是我的on_config_change剪掉的一小段内容:

def on_config_change(self, config, section, key, value):
    if section == 'my_section':
        if key == 'var1':
            if value > var2:
                # TODO: find a way to refresh the settings screen to reflect the change below
                self.config.set(section, key, var2)
                self.config.write()
                # self.settingsObj.canvas.ask_update()  # not working
                # self.settingsObj.do_layout()          # not working

我尝试使用canvas.ask_update()和do_layout()来更新设置屏幕,但它没有用。 我假设,该值是一个ObjectProperty,我可以以某种方式访问​​它们以立即反映更改,但我无法弄清楚如何执行此操作。

顺便说一下:目标是限制用户输入的值的范围。

我希望你能帮助我! 非常感谢提前! :)

干杯, 克劳斯

0 个答案:

没有答案