我有一些通过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,我可以以某种方式访问它们以立即反映更改,但我无法弄清楚如何执行此操作。
顺便说一下:目标是限制用户输入的值的范围。
我希望你能帮助我! 非常感谢提前! :)
干杯, 克劳斯