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()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...