我已经完成了一些搜索,但是找不到任何关于此主题的内容。也许是因为它是常见的程序员知识(我不是程序员,我已经从必要性中学到了知识),或者因为我错误地去了解它。如何在Tkinter中有效地处理按钮状态
我想就如何管理GUI的按钮状态提出意见/建议。例如,如果我有一个允许用户导入和处理数据的程序,那么某些功能应该是无法访问的,直到数据成功导入,或者如果他们想要绘制某些数据,他们需要选择要绘制的数据点击'图表'或'导出'按钮。即使在我构建这些关系的简单程序中,似乎很快就会变得复杂。看起来很简单,“用户不应该能够点击'A'按钮直到'B'和'C'完成,然后'A'应该被禁用,如果按钮'D'或'取消'按钮。这是很多来跟踪一个按钮到目前为止,我已经试过两件事情:
更改/在按钮的回调函数检查按钮状态,以便在上面的例子中,我将不得不代码。按钮B和C的回调来检查是否应该启用A,并且在按钮D和Cancel的回调中,我将有代码禁用按钮A.这会变得很复杂并且很难在代码更改时保持不变。在每个按钮回调(或只是稍后使用cget()检查状态并检查轮询函数中的变量以确定应启用或禁用哪些按钮。
我只是不确定这一点。我希望代码尽可能简短易懂(稍后易于编辑),但我不喜欢每隔几百毫秒轮询所有按钮状态的想法,只是为了管理按钮。您可以将相同的想法扩展到复选框,菜单项等等,但是我想在这里介绍其他人做了什么,以及他们为什么要按照他们的方式来做。