为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 python tkinter 中一次显示一个窗口?

如何在 python tkinter 中一次显示一个窗口?

杨__羊羊 2023-03-16 17:51:46
如何使用 tkinter 一次显示一个窗口?例如,如果我输入 6 作为输入,并使用按钮调用函数,我需要它显示 6 个窗口,但一次显示一个。按下前一个按钮后,它只会提示我下一个窗口。我尝试使用 for 循环遍历输入范围,并根据该范围创建带有按钮的新窗口,但问题是它们都同时出现: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 循环并允许它继续?
查看完整描述

2 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

我认为你不需要循环来做到这一点


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 循环来做到这一点


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)


查看完整回答
反对 回复 2023-03-16
?
动漫人物

TA贡献1815条经验 获得超10个赞

执行此操作的最简单方法就像使用调用的 tkinter 的内置方法推荐 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()

在这里,我们创建了一个带有 forloop 的函数,该函数等待窗口被销毁,并向 Button 添加了一个命令以销毁窗口。


查看完整回答
反对 回复 2023-03-16
  • 2 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信