Python消息框程序

问题描述

我需要一些帮助。

我想制作一个使用 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()