【发布时间】:2023-04-02 07:27:01
【问题描述】:
我目前正在尝试创建一个与 .txt 文件中的行交互的 GUI,以便对某些冷冻箱的内容进行排序。但是,当我使用这样的 for 循环创建大量按钮时,我很难与特定行进行交互:
def create_boxes(self):
for r in range(0,10):
for c in range(0,10):
self.button = Button(root, text='%s.%s'%(r,c),borderwidth=1 ,command= lambda: self.replace_line("Freezercontent.txt", r*10+c , input("What would you like in this slot"))).grid(row=r,column=c+5)
在替换行函数中,第二个参数是特定按钮需要更改的行号。我的解决方案不起作用,因为当使用命令调用 lambda 函数时,for 循环已完成。这意味着我单击的每个按钮只会更改最后一行...
如何访问由text="somename"
参数给出的按钮名称?还是有更聪明的方法?
感谢 Emil H。
【问题讨论】:
-
您可能需要在循环之外保留对它的引用
-
为什么需要访问各个按钮?
-
@Tim Castelijns、Ben 和 Peter Wood,跟踪按钮似乎只提供了部分解决方案,因为它仍然只是我单击它时调用的最后一个按钮的命令功能......似乎与我(很可能是错误地)使用 lambda 函数有关,因为 Flipvargas 类定义已经解决了我问题的最后一部分。不过谢谢大家!我是新来的,但到目前为止,它确实是一个很棒的论坛!
标签:
python
user-interface
button
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如果按钮名称是在 python 的 for 循环中创建的,我如何访问它? - Python技术站