2 回答

TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
我認(rèn)為你不需要循環(huán)來做到這一點(diǎn)
def multiplewindows():
j=int(number.get())
tempwindow = Toplevel()
tempwindow.title(f"Window {j}")
tempbutton = Button(tempwindow, text=f"Button {j}")
tempbutton.pack(padx=10, pady=10)
如果你想使用 for 循環(huán)來做到這一點(diǎn)
def multiplewindows():
j=int(number.get())
for i in range(int(number.get())):
if (i+1)==j:
tempwindow = Toplevel()
tempwindow.title(f"Window {j}")
tempbutton = Button(tempwindow, text=f"Button {j}")
tempbutton.pack(padx=10, pady=10)

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
執(zhí)行此操作的最簡(jiǎn)單方法就像使用調(diào)用的 tkinter 的內(nèi)置方法推薦 acw1668 wait_window()。
from tkinter import *
from tkinter.ttk import *
root = Tk()
root.title("Multiple windows")
def multiplewindows():
for i in range(int(number.get())):
tempwindow = Toplevel()
tempwindow.title(f"Window {i+1}")
tempbutton = Button(tempwindow, text=f"Button {i+1}", command=tempwindow.destroy)
tempbutton.pack(padx=10, pady=10)
tempwindow.wait_window()
number = Entry(root, width=5)
number.pack(padx=10, pady=10)
button = Button(root, text="Show", command=multiplewindows)
button.pack(padx=10, pady=10)
root.mainloop()
在這里,我們創(chuàng)建了一個(gè)帶有 forloop 的函數(shù),該函數(shù)等待窗口被銷毀,并向 Button 添加了一個(gè)命令以銷毀窗口。
添加回答
舉報(bào)