天天看點

python 關閉視窗事件_python - 如何處理Tkinter中的視窗關閉事件?

Matt展示了關閉按鈕的一個經典修改。

另一種是使關閉按鈕最小化視窗。

您可以通過iconify方法重制此行為

是協定方法的第二個參數。

這是一個在Windows 7上測試的工作示例:

# Python 3

import tkinter

import tkinter.scrolledtext as scrolledtext

class GUI(object):

def __init__(self):

root = self.root = tkinter.Tk()

root.title('Test')

# make the top right close button minimize (iconify) the main window

root.protocol("WM_DELETE_WINDOW", root.iconify)

# make Esc exit the program

root.bind('', lambda e: root.destroy())

# create a menu bar with an Exit command

menubar = tkinter.Menu(root)

filemenu = tkinter.Menu(menubar, tearoff=0)

filemenu.add_command(label="Exit", command=root.destroy)

menubar.add_cascade(label="File", menu=filemenu)

root.config(menu=menubar)

# create a Text widget with a Scrollbar attached

txt = scrolledtext.ScrolledText(root, undo=True)

txt['font'] = ('consolas', '12')

txt.pack(expand=True, fill='both')

gui = GUI()

gui.root.mainloop()

在此示例中,我們為使用者提供了兩個新的退出選項:

經典檔案菜單 - > 退出,還有Esc按鈕。