gpt4 book ai didi

python - tkinter - 将 for 循环中的按钮链接到函数字典 {name : function}

转载 作者:太空宇宙 更新时间:2023-11-04 09:40:40 25 4
gpt4 key购买 nike

我正在尝试在 for 循环中创建一个相当大的按钮列表,该循环还链接到要在字典中调用的相应函数。有几个类似的帖子herehere讨论使用 lambda 分配名称 = 名称,但我似乎无法弄清楚如何将其合并到这个特定实例中,在该实例中每个人调用字典中的不同函数,而不是更改单个函数的单个参数。这是一个例子。

import tkinter as tkinter    
root = tkinter.Tk()

def funct1():
print("Printed Func1")
def funct2():
print("Printed Func2")

buttons_dict = {"button1": "Func1", "button2": "Func2"}

row = 0
for name in buttons_dict:
buttons = tkinter.Button(root, text=name) # command=lambda name=name: root(name))
buttons.grid(row=row)
buttons.config()
row += 1

root.mainloop()

从这样的字典中收集信息时,为函数指定名称的正确方法是什么?

最佳答案

你可以像这样引用字典中的函数:

import tkinter as tkinter    
root = tkinter.Tk()

def funct1():
print("Printed Func1")
def funct2():
print("Printed Func2")

buttons_dict = {"button1": funct1, "button2": funct2}

row = 0
for name in buttons_dict:
buttons = tkinter.Button(root, text=name, command=buttons_dict[name])
buttons.grid(row=row)
buttons.config()
row += 1

root.mainloop()

关于python - tkinter - 将 for 循环中的按钮链接到函数字典 {name : function},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51830722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com