我是一位有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:
这样可以正确创建我的GUI,按钮标记为say、A和B,但是当我按下标记为A的按钮时,它会将B传递给test方法。
我查看了一些资料并找到了这个问题如何将参数传递给Tkinter按钮的回调命令?,但答案没有继续使用相同的变量名,并使用不同的值来配置另一个小部件。(事实上,通过将变量名与小部件名称绑定,它几乎暗示了该技术在这种情况下无法工作,正如我所发现的那样。)
我非常新手Python,但对使用Tcl/TK创建此类GUI非常熟悉,并且我认识到这个问题——在按下按钮时传递了tstName的值,但我希望它传递创建变量时的值。我知道如何在Tcl/Tk中修复它——我会在创建时使用list定义一个命令字符串,以捕获变量的值。
我如何在Python中做到这一点?
我在一个单独的目录中有许多测试文件。我试图编写一个GUI,使我能够选择并运行其中一个。
因此,我有一个循环来扫描该目录并创建按钮:
for fnm in glob.glob ('Run*.py'):
tstName = fnm[3:-3] # Discard fixed part of filename
btn = Button (self, text=tstName,
command=lambda: self.test(tstName))
btn.grid (row=rowNum, column=0, pady=2)
rowNum += 1
这样可以正确创建我的GUI,按钮标记为say、A和B,但是当我按下标记为A的按钮时,它会将B传递给test方法。
我查看了一些资料并找到了这个问题如何将参数传递给Tkinter按钮的回调命令?,但答案没有继续使用相同的变量名,并使用不同的值来配置另一个小部件。(事实上,通过将变量名与小部件名称绑定,它几乎暗示了该技术在这种情况下无法工作,正如我所发现的那样。)
我非常新手Python,但对使用Tcl/TK创建此类GUI非常熟悉,并且我认识到这个问题——在按下按钮时传递了tstName的值,但我希望它传递创建变量时的值。我知道如何在Tcl/Tk中修复它——我会在创建时使用list定义一个命令字符串,以捕获变量的值。
我如何在Python中做到这一点?
functools.partial(self.test, tstName)
。 - tobias_klambda
的好文档链接,我会很感激的。 - nurdglaw