【发布时间】:2022-01-01 21:38:52
【问题描述】:
它应该表现得像当弹出窗口打开时我们不能使用主窗口,直到我们退出弹出窗口
我不使用 tkinter 消息框的原因是我无法自定义它
我想自定义并找到了一种方法,但问题是当弹出窗口打开时,我可以轻松单击主窗口按钮并打开多个弹出窗口,所以我希望在窗口弹出时禁用主窗口并获取弹窗关闭后恢复正常
我的代码是这样的
from tkinter import *
win = Tk()
win.title("Main Window")
def closing_try():
close = Tk()
close.title("Warning")
close.geometry('200x100')
close.overrideredirect(0)
close.configure(bg='white')
close.resizable(False, False)
close.attributes("-topmost", True)
close.eval('tk::PlaceWindow . center')
def save_b_func():
close.destroy()
save_func()
win.destroy()
def dont_save_b_func():
win.destroy()
close.destroy()
def cancel_b_func():
close.destroy()
ask_lbl = Label(close, text='''Do You Want to Save File
Before Exiting?''', bg='white', font=('consolas', 10, 'normal'))
ask_lbl.place(x=10, y=5)
save_b = Button(close, text='Save', font=('consolas', 10, 'normal'), command=save_b_func, bg='white').place(x=9, y=50)
dont_save_b = Button(close, text="Don't Save", font=('consolas', 10, 'normal'), command=dont_save_b_func, bg='white').place(x=53, y=50)
cancel_b = Button(close, text='Cancel', font=('consolas', 10, 'normal'), command=cancel_b_func, bg='white').place(x=139, y=50)
close.mainloop()
button = Button(win, text='click me', command = closing_try).pack()
win.mainloop()
【问题讨论】:
标签: python tkinter popupwindow