Python将Tkinter按钮的实例传递给它自己的命令

时间:2015-10-07 13:42:29

标签: python button tkinter command

我试图弄清楚如何将按钮的实例传递给它自己的命令。基本上我要做的是如果被调用的命令的事件成功,我想禁用该按钮。

这是我的按钮代码,它调用一个名为' runco​​mmand':

的函数
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))

一旦调用,如果满足条件,我试图在' runco​​mmand'中禁用它。功能:

btn_id.configure(state=DISABLED)

我不确定这是否可能,或者我是否只是以错误的方式解决这个问题。

2 个答案:

答案 0 :(得分:0)

您已经传递了对按钮的引用,所以

def runcommand(command, text, btn_id):
    ...
    if (should_disable_the_button):
        btn_id.configure(state=DISABLED)

答案 1 :(得分:0)

好的,这是我完全承认我是个笨蛋的地方。我正确地实现了这个功能。我有一个非常复杂的系列,如果' runco​​mmand函数中的条件和禁用代码未被调用。我指定了一个布尔标志来确定是否应该立即禁用该按钮。工作良好。杜... MASS!