python tkinter创建子窗口,在子窗口使用combobox下拉框提示信息框卡住

初学,自己写了个小程序。
主窗口有个添加按钮,点击后弹出子窗口。子窗口有个'添加'按钮,点击后弹出提示信息框。

子窗口用combobox下拉框选择数值,弹出提示信息框后就会卡住,点击没反应。
换成entry框就没事,messagebox正常提示。
在combobox下拉框里面手动输入内容,messagebox正常提示。
不用子窗口,在主窗口里用下拉框试验,提示信息框也正常,不会卡住。

2021.12.15去掉子窗口.mainlopp()没能解决问题。

img


from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import threading
def 添加成功提醒():
    messagebox.showinfo('提示窗口','添加成功')
def 添加提醒():
    子窗口=Toplevel(主窗口)
    子窗口.title('tianjiatix')
    时间输入=StringVar()
    Label(子窗口,text='时间').grid(row=0,column=0)
    时间下拉框=ttk.Combobox(子窗口,textvariable=时间输入)
    时间下拉框['value']=('1','2','3')
    时间下拉框.grid(row=0,column=1)
    添加按钮=Button(子窗口,text='添加',command=添加成功提醒)
    添加按钮.grid(row=1,column=0)
    #子窗口.mainloop()
                
def 主界面():
    global 主窗口
    主窗口=Tk()
    主窗口.geometry('400x600')
    Label(主窗口,text='任务提醒系统').grid(row=0,column=0)
    添加提醒按钮=Button(主窗口,text='添加提醒',command=添加提醒)
    添加提醒按钮.grid(row=2,column=0)
    主窗口.mainloop()
主界面()
    
    

中文编程先驱者,佩服,你子窗口mainloop了,把那个去掉应该就好了,

已解决,给消息提示框添加 parent参数即可

原代码是在手机上运行的,所以看不出问题在哪。用电脑运行后才发现问题所在,谢谢各位。

messagebox.showinfo('提示窗口', '添加成功',parent=子窗口)

from tkinter import *
from tkinter import ttk
from tkinter import messagebox
import threading


def 添加成功提醒(子窗口):
    messagebox.showinfo('提示窗口', '添加成功',parent=子窗口)


def 添加提醒():
    子窗口 = Toplevel(主窗口)
    子窗口.title('tianjiatix')
    时间输入 = StringVar()
    Label(子窗口, text='时间').grid(row=0, column=0)
    时间下拉框 = ttk.Combobox(子窗口, textvariable=时间输入)
    时间下拉框['value'] = ('1', '2', '3')
    时间下拉框.grid(row=0, column=1)
    添加按钮 = Button(子窗口, text='添加', command=lambda :添加成功提醒(子窗口))
    添加按钮.grid(row=1, column=0)
    # 子窗口.mainloop()


def 主界面():
    global 主窗口
    主窗口 = Tk()
    主窗口.geometry('400x600')
    Label(主窗口, text='任务提醒系统').grid(row=0, column=0)
    添加提醒按钮 = Button(主窗口, text='添加提醒', command=添加提醒)
    添加提醒按钮.grid(row=2, column=0)
    主窗口.mainloop()


主界面()