0
我想從很多tkinter輸入框中獲取信息,然後將其放入字典中以傳遞到不同的函數中。我希望鍵是變量(條目)的名稱,並且該值是存儲在輸入框中的文本。我能夠收集所有信息,但字典鍵不正確。這些鍵可以引用Entry,但我希望鍵是變量名,以便稍後將它傳遞給正則表達式。這是迄今爲止使用的代碼。如何收集tkinter條目信息並輸入詞典
import tkinter as tk
class ExApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
# Build the container
container = tk.Frame(self)
container.pack(fill='both', expand=True)
container.grid_columnconfigure(0, weight=1)
container.grid_rowconfigure(0, weight=1)
self.frames = {}
frame = StartPage(container, self)
self.frames[StartPage] = frame
frame.grid(column = 0, row=0, sticky='nsew')
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
tlabel = tk.Label(self, text='This is just a test')
tlabel.pack()
pdc1 = tk.Entry(self)
pdc1.pack()
pdc2 = tk.Entry(self)
pdc2.pack()
pdc3 = tk.Entry(self)
pdc3.pack()
pdc4 = tk.Entry(self)
pdc4.pack()
self.entries = [pdc1, pdc2, pdc3, pdc4]
testbutton = tk.Button(self, text = 'test',
command= lambda: print(self.collect_entries(self.entries)))
testbutton.pack()
def collect_entries(self, list = []):
self.outputs = {}
for entry in list:
self.outputs[entry] = entry.get()
return self.outputs
app = ExApp()
app.mainloop()
這只是一個測試腳本,但我的實際包含更多的條目。它最終會將大量變量傳遞給另一個函數,但我認爲可以通過單個字典來實現。
預先感謝您。
這是完美的作品,將真正使我的腳本更短。謝謝。 – thepeach56