我试图弄清楚如何将按钮的实例传递给它自己的命令。基本上我要做的是如果被调用的命令的事件成功,我想禁用该按钮。
这是我的按钮代码,它调用一个名为' runcommand':
的函数btn_id = Button(tab_id, text=label, anchor=W)
btn_id.configure(command=lambda command=command, logtext=logtext, btn_id=btn_id: runcommand(command, logtext, btn_id))
一旦调用,如果满足条件,我试图在' runcommand'中禁用它。功能:
btn_id.configure(state=DISABLED)
我不确定这是否可能,或者我是否只是以错误的方式解决这个问题。
答案 0 :(得分:0)
您已经传递了对按钮的引用,所以
def runcommand(command, text, btn_id):
...
if (should_disable_the_button):
btn_id.configure(state=DISABLED)
答案 1 :(得分:0)
好的,这是我完全承认我是个笨蛋的地方。我正确地实现了这个功能。我有一个非常复杂的系列,如果' runcommand函数中的条件和禁用代码未被调用。我指定了一个布尔标志来确定是否应该立即禁用该按钮。工作良好。杜... MASS!