这让我难过了一个多星期。正如标题所问,我怎样才能让 TK 按钮命令接收带有变量的参数?
这是我正在使用的确切代码:
i=0
# Make a Staff list button
staffButton = Button(masterFrame,
text='Staff List',
width=20,
justify=LEFT,
#command=lambda:self.openTabHere(isLeft,STAFF_LIST_TAB))
command=lambda:self.openTabHere(isLeft,i))
staffButton.grid(column=0, row=1)
# Make a course list button
courseButton = Button(masterFrame,
text='Course List',
width=20,
justify=LEFT,
#command=lambda:self.openTabHere(isLeft,COURSE_LIST_TAB))
command=lambda:self.openTabHere(isLeft,i))
courseButton.grid(column=0, row=0)
i=1
请注意,如果我使用注释(硬编码)命令,它会按预期工作。但是,如果我使用未注释的代码和变量 i,则两个按钮都会以 i=1 的命令结束。
是命令在运行时获取变量 i 吗?如果是这样,或者出于其他原因,我能做些什么来完成我想做的事情?
这是因为我对每个员工都做了类似的事情;一个 for 循环,旨在具有打开一个选项卡的按钮,该选项卡具有作为无法硬编码的变量的参数中的人员 ID。
提前谢谢。