问题描述
我需要一些帮助。
我想制作一个使用 tkinter 显示消息框的python程序。当消息框关闭一次时,我要显示2个框。如果2个框关闭,我希望出现4个框,依此类推...
我出现了第一个消息框。如果将其关闭,则会启动 for循环 并激活打开新消息框的功能。可悲的是,它一次只能打开1,因为我真的不知道如何一次激活一个功能。
这是我的代码:
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
x = 5
def open():
messagebox.showwarning("Dragons..","Cut off 1 head of the dragon and 2 more will appear..")
def on_closing():
if messagebox.showwarning("Dragons..","Cut off 1 head of the dragon and 2 more will appear.."):
for i in range(x):
open()
else:
root.destroy()
on_closing()
有人可以向我推正确的方向吗?
亲切的问候,
袖口
解决方法
messagebox
是模式窗口,它们保持打开状态并阻止您的代码,直到用户关闭它们为止。
我要同时打开多个,需要通过多个线程来完成。
您可以尝试类似的操作:
import threading
for i in range(x):
threading.Thread(target = open).start()
如果多线程不起作用,那么多处理是可行的方法:
from multiprocessing import Process
for i in range(x):
p = Process(target=open).start()