【发布时间】:2018-01-25 11:33:23
【问题描述】:
我不知道如何引用在 tkinter 中单击的按钮。
我的代码:
for file in files:
btn = Button(root, text=file).pack()
现在例如从作为源的文件生成 50 个按钮。
但是,当我单击任何按钮时,只会引用 LAST 按钮,而不是我真正想要使用/单击的按钮。
在 JavaScript 中,我们使用 this 来引用我们真正点击的对象,但是我在 Python 中找不到任何解决方案。
【问题讨论】:
-
@EthanField 请不要在问题中添加代码。没有迹象表明 OP 使用python-3.x 或
files的列表。如果不确定,请使用 cmets 进行澄清。 -
OP 已经提供了代码,我让它可以运行,我没有看到任何问题,除了“Tkinter”和“tkinter”之间的区别,代码将在 2.x 中运行或 3.x。此外,OP 声明了
for file in files:,这意味着文件是list,所以虽然 OP 没有为我们提供files的任何数据,但我添加了一个 for 循环,用 OP 声明的 50 个按钮填充它脚本应该添加。我也不同意将这个问题归类为重复问题,这两个问题明显不同 -
@EthanField OP 为文件中的文件声明:意味着文件是一个列表 嗯.. 不。
files可以是任何可迭代的(即生成器、amp 对象、zip对象等),我们不知道它是如何生成的。关于重复.. 链接的问题 exactly 符合 OP 的解释。怎么不重复?