tkinter" x"在退出时执行ser.close()

时间:2014-09-24 11:41:53

标签: python tkinter raspberry-pi pyserial

我有一个小脚本通过pyserial和tkinter输出串行命令。

它一切正常但只需要关闭并释放串口并想要使用" X"在角落里。

据我所知,这是一个o / s" X"而不是自己的自我。

有人能指出我正确的方向吗?

2 个答案:

答案 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()