Tkinter Protocols
Protocols可以翻译为通信协议,在tkinter内可以解释为窗口管理程序(Windows Manager)与应用程序(Application)之间的通信协议。tkinter也支持使用绑定概念更改此通信协议。
示例1
单击通信协议(Protocols)内容窗口右上角的[插图]按钮可以关闭窗口,它的名称是WM_DELETE_WINDOW。这个程序会修改此协议,改为单击此按钮后增加Messagebox,询问“结束或取消”,若是单击“确定”按钮才会结束此程序。
from tkinter import *
from tkinter import messagebox
def callback():
print("The cross in the upper right corner of the window is clicked...")
result = messagebox.askokcancel("OK/CANCEL?","OK/CANCEL?")
if result:
root.destroy()
else:
# pass
return
root = Tk()
root.title("apidemos.com") # 窗口标题
root.geometry("300x180") # 窗口宽300高180
root.protocol("WM_DELETE_WINDOW",callback) # 更改协议绑定
root.mainloop()
输出: