我有一个小脚本通过pyserial和tkinter输出串行命令。
它一切正常但只需要关闭并释放串口并想要使用" X"在角落里。
据我所知,这是一个o / s" X"而不是自己的自我。
有人能指出我正确的方向吗?
答案 0 :(得分:1)
使用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>)
答案 1 :(得分:1)
您可以使用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()