问题
我的问题很简单,但即使经过一番谷歌搜索,我也无法弄清楚如何轻松应对。
所以我有一个复选按钮:
self.but_val = IntVar()
self.but = Checkbutton(frame, text="text", variable=self.but_val)
此检查按钮会触发 GUI 上某些文件路径的更新:
self.but.bind('<ButtonRelease-1>',
lambda e: self.update_files_path(e), add='+')
在update_files_path(event)
中,我需要获取 checkbutton 的值来选择要显示的文件路径:
if self.but_val.get() == 0:
[...]
else:
[...]
我遇到的问题是我在 clic 之前获得了按钮的值。 而且由于文件路径的处理取决于不同的按钮值,我不能只使用相反的值。
我目前的工作
目前我有一个在 clic 之前触发并保存 GUI 状态的函数:
self.but.bind('<ButtonPress-1>', lambda e,
self.save_design_opts_state(self.buttons_to_backup,
self.before_clic_vars_state), add='+')
然后在update_files_path(event)
我调用一个函数来推断 clic 之后的 GUI 状态:
gui_state = self.get_gui_state(event)
这个功能实现起来很烦人,因为我需要做很多事情: 1- 检查 clic 是否真的是在按钮上制作的(避免 clic 从按钮开始并在其他地方结束!) 2- 获取值的所有必需按钮,具体取决于它们的类型
有没有更简单的方法来处理这个问题?
谢谢您的帮助!