0
因此,在下面的代碼中,我在tkinter中建立一個Notebook。我從列表中抽取字符串VARS [「IMPS」],並使用字符串作爲鍵和框架作爲值在字典中創建頁面。迭代產生的Tkinter按鈕將不會響應正確的變量
我的問題來了,當我建立按鈕,按鈕激活的功能只是打印impname。但是,當應用程序構建時,標籤始終具有正確的內容和「impname」。筆記本的所有頁面上的按鈕始終打印列表中的最後一個字符串VARS [「IMPS」]。這是爲什麼發生?
Necromicon = ttk.Notebook(self)
self.pages = {}
for impname in __VARS__["IMPS"]:
page = {}
# Formate is Imp_acrobat.Imp()
# impname is a string
self.pages[impname] = page
self.pages[impname]["Page"] = ttk.Frame(Necromicon)
Necromicon.add(self.pages[impname]["Page"], text=impname[4:])
x = ttk.Label(self.pages[impname]['Page'], text=impname)
x.config(wraplength=175, font=SMALL_FONT)
x.config(background='black', foreground='red')
self.pages[impname]['Scroll'] = x
self.pages[impname][impname + 'Button'] = tk.Button(
self.pages[impname]['Page'],
text='Activate',
command=lambda: self.modload(self, controller, impname))
self.pages[impname]['Scroll'].pack(fill="both", expand=True)
self.pages[impname][impname + 'Button'].pack()