如何使windows在python tkinter中一次显示一个窗口?
如何使用tkinter使windows一次显示一个?例如,如果我输入6作为输入,并使用按钮调用函数,我需要它显示6个窗口,但每次显示一个窗口。它只会在按下上一个窗口的按钮后提示我下一个窗口 我尝试使用for循环在输入范围内循环,并基于该范围创建带有按钮的新窗口,但问题是它们都同时显示:如何使windows在python tkinter中一次显示一个窗口?,python,tkinter,Python,Tkinter,如何使用tkinter使windows一次显示一个?例如,如果我输入6作为输入,并使用按钮调用函数,我需要它显示6个窗口,但每次显示一个窗口。它只会在按下上一个窗口的按钮后提示我下一个窗口 我尝试使用for循环在输入范围内循环,并基于该范围创建带有按钮的新窗口,但问题是它们都同时显示: from tkinter import * from tkinter.ttk import * root = Tk() root.title("Multiple windows") def
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}")
tempbutton.pack(padx=10, pady=10)
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()
在新创建的窗口中按下按钮后,是否有办法暂停for循环并允许其继续?我认为您不需要for循环来完成此操作
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)
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)
如果您想使用for循环来实现这一点
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)
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)
最简单的方法是使用内置的tkinter方法推荐acw1668,该方法通过
wait\u window()
调用
在这里,我们创建了一个带有forloop的函数,该函数等待窗口被销毁,并在按钮上添加了一个命令来销毁窗口。Add
tempwindow.wait\u window()
。不知道是谁否决了你,但这正是我需要的!Thanks@Alteros我想我这里有个粉丝。如果你能接受我的回答,我将不胜感激