我刚开始编写图形用户界面程序,我想有一个可以弹出一定次数的窗口,目前我有一个按钮和一个输入框,按钮命令是on_press,如下所示
import tkinter as tk
class Application(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
self.pack()
self.entry = tk.Entry(self)
self.entry.pack()
self.button_bonus = tk.Button(self, text="go", command=self.on_press)
self.button_bonus.pack()
def on_press(self):
for i in range(int(self.entry.get())):
self.popup()
def popup(self):
win = tk.Toplevel()
win.wm_title("Window")
l = tk.Label(win, text="Input")
l.grid(row=0, column=0)
b = tk.Button(win, text="Okay", command=win.destroy)
b.grid(row=1, column=0)
root = tk.Tk()
app = Application(root)
root.mainloop()
预期的行为是我按下按钮,循环将调用spawn.but ()一次,然后等待弹出窗口关闭,然后让另一个窗口同时生成当前的两个窗口
我现在所拥有的
发布于 2020-09-14 13:28:46
您可以添加win.grab_set()
和win.wait_window()
来使弹出窗口成为模式窗口:
def popup(self):
win = tk.Toplevel()
win.wm_title("Window")
l = tk.Label(win, text="Input")
l.grid(row=0, column=0)
b = tk.Button(win, text="Okay", command=win.destroy)
b.grid(row=1, column=0)
win.grab_set() # capture keyboard events
win.wait_window() # wait until window is closed
https://stackoverflow.com/questions/63885215
复制相似问题