初学,自己写了个小程序。
主窗口有个添加按钮,点击后弹出子窗口。子窗口有个'添加'按钮,点击后弹出提示信息框。
子窗口用combobox下拉框选择数值,弹出提示信息框后就会卡住,点击没反应。
换成entry框就没事,messagebox正常提示。
在combobox下拉框里面手动输入内容,messagebox正常提示。
不用子窗口,在主窗口里用下拉框试验,提示信息框也正常,不会卡住。
2021.12.15去掉子窗口.mainlopp()没能解决问题。
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()
主界面()