我是 Tkinter 的新手,只是想知道是否可以將一些條目框分組到串列中,然后對它們進行 for 回圈。
我正在觀看本教程視頻,單擊按鈕后,他們希望該按鈕清除所有輸入框,并且他們已這樣做:
# Create Submit fn for database
def submit():
f_name.delete(0, END)
l_name.delete(0, END)
address.delete(0, END)
city.delete(0, END)
postcode.delete(0, END)
# Create entry textboxes
f_name = ttk.Entry(mainframe, width=30).grid(column=1, row=0)
l_name = ttk.Entry(mainframe, width=30).grid(column=1, row=1)
address = ttk.Entry(mainframe, width=30).grid(column=1, row=2)
city = ttk.Entry(mainframe, width=30).grid(column=1, row=3)
postcode = ttk.Entry(mainframe, width=30).grid(column=1, row=4)
# Create submit button
submit_btn = ttk.Button(mainframe, text="Add Record", width=20, command=submit).grid(column=0, row=6, pady=10)
submit我想做這樣的事情,而不是重復的功能:
def submit():
entries = ttk.Entry(mainframe)
for entry in entries:
entry.delete(0, END)
上面的那個函式不起作用,但我正在尋找沿著這些方向的東西,以避免不必要的重復并擁有更清晰的代碼。這可能嗎?
uj5u.com熱心網友回復:
小部件是物件,物件可以添加到串列中。您這樣做與字串或整數或任何其他型別的物件沒有什么不同。
f_name = ttk.Entry(mainframe, width=30)
l_name = ttk.Entry(mainframe, width=30)
address = ttk.Entry(mainframe, width=30)
city = ttk.Entry(mainframe, width=30)
postcode = ttk.Entry(mainframe, width=30)
f_name.grid(column=1, row=0)
l_name.grid(column=1, row=1)
address.grid(column=1, row=2)
city.grid(column=1, row=3)
postcode.grid(column=1, row=4)
entries = [f_name, l_name, address, city, postcode]
...
for entry in entries:
entry.delete(0, END)
您還可以使用字典代替單個變數。然后,您可以像執行任何其他字典一樣遍歷字典:
entries = {
"f_name": ttk.Entry(...),
"l_name": ttk.Entry(....),
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/392774.html
