我有一個通過pyserial和tkinter輸出串行命令的小腳本。tkinter「x」在退出時執行ser.close()
其所有的工作很好,但只需要關閉並釋放串口,並希望在角落裏使用「X」。
從我理解的這是一個o/s「X」而不是tkinter它的自我。
任何人都可以指出我正確的方向嗎?
我有一個通過pyserial和tkinter輸出串行命令的小腳本。tkinter「x」在退出時執行ser.close()
其所有的工作很好,但只需要關閉並釋放串口,並希望在角落裏使用「X」。
從我理解的這是一個o/s「X」而不是tkinter它的自我。
任何人都可以指出我正確的方向嗎?
您可以使用類似this
import Tkinter as tk
import tkMessageBox
def ask_quit():
if tkMessageBox.askokcancel("Quit", "You want to quit now? *sniff*"):
# close your serial here
root.destroy()
root = tk.Tk()
root.protocol("WM_DELETE_WINDOW", ask_quit)
root.mainloop()
使用Tk的協議方法。如果你的窗口從Tk的繼承,你可以做這樣的事情
self.protocol("WM_DELETE_WINDOW", self.exit)
在
__init__
方法
其中self.exit是關閉資源的功能。
如果窗口是在自己的權利的Tk的對象,你可以不喜歡
root = Tkinter.Tk()
root.protocol("WM_DELETE_WINDOW", <function to close resources>)