我希望在打开模态窗口时,X
的{{1}}按钮(关闭按钮)无效。
我试图找到我想要的答案,但没有我想要的答案。
我真的强调我想要使MAIN WINDOW
无法关闭按钮,而不是模态窗口(tkinter窗口)。
我真的在寻找答案。 感谢。
这是我的代码
MAIN WINDOW
代码多于此,但我认为我不需要在这里编写每个代码。
打开此模态窗口(tkinter窗口)时,我想制作MAIN WINDOW的关闭按钮。
答案 0 :(得分:0)
通过为“WM_DELETE_WINDOW”定义wm_protocol
处理程序,在Tkinter程序中处理窗口框关闭按钮。默认处理程序退出程序,但如果定义一个不退出的处理程序,则可以忽略窗口管理器退出的请求。
#!/usr/bin/env python3
import tkinter as tk
def on_exit(label):
label.configure(text="Not exiting")
def main():
root = tk.Tk()
label = tk.Label(text="")
label.place(x=0,y=0)
button = tk.Button(root, text="Exit", command=root.destroy)
button.place(x=120,y=80)
root.wm_protocol("WM_DELETE_WINDOW", lambda: on_exit(label))
root.mainloop()
if __name__ == '__main__':
main()
答案 1 :(得分:0)
您无法删除操作系统处理的标题栏,但是无论何时调用它都应该忽略该事件
def __CancelCommand(event=None): pass
self.top.protocol( 'WM_DELETE_WINDOW', __CancelCommand )