首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >tkinter中有循环切换窗口的功能吗?

tkinter中有循环切换窗口的功能吗?
EN

Stack Overflow用户
提问于 2020-09-14 13:22:24
回答 1查看 89关注 0票数 0

我刚开始编写图形用户界面程序,我想有一个可以弹出一定次数的窗口,目前我有一个按钮和一个输入框,按钮命令是on_press,如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 ()一次,然后等待弹出窗口关闭,然后让另一个窗口同时生成当前的两个窗口

我现在所拥有的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-14 13:28:46

您可以添加win.grab_set()win.wait_window()来使弹出窗口成为模式窗口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63885215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文