我有一个这样的口述:
dict = {"site1": link to site1,
"site2": link to site2,
"site3": link to site3,
[...]
}
我也不知道在dict中会有多少个站点
我试图实现的是将不同的链接绑定到for循环中动态创建的标签。我想做一个有名字列表的窗口,当你点击名字时,它会在网站上重定向你
我正在使用下面的this示例,但没有成功
from tkinter import Tk, Label, StringVar
import webbrowser
root = Tk()
list1 = ["site1-google","site2-facebook"]
list2 = ["google.com", "fb.com"]
for v1, v2 in zip(list1, list2):
item_values = '{}'.format(v1)
sv = StringVar()
lbl = Label(root, width="100", height="2",textvariable=sv)
lbl.pack()
lbl.bind("<Button-1>", lambda e: callback(v2))
sv.set(item_values)
def callback(url):
webbrowser.open_new(url)
root.mainloop()
当我运行该程序时,它只是将列表2中的“最后一个站点”绑定到所有新创建的标签上
我在某个地方读到lambda是延迟绑定的,因此它将在每次给定列表的最后一个值绑定时进行绑定,但我不知道如何解决这个问题
我该怎么办
目前没有回答
相关问题 更多 >
编程相关推荐