Tho*_*lds 7 python tkinter keyboardinterrupt
所以我刚开始使用Tkinter在Linux上乱搞Python.我试图通过使用KeyboardInterrupt异常使Cntrl + C停止执行,但是当我按下它时,暂时没有任何反应.最终它"需要"并退出.一点点阅读表明这可能与线程或其他东西有关,但我对这些东西很新,我真的不知道从哪里开始.
#! /usr/bin/python
import sys
from Tkinter import *
try:
root = Tk()
root.mainloop()
except:
print "you pressed control c"
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
我不想成为只需要快速修复的菜鸟,所以如果你的答案就像指向正确的文档一样简单,那就太棒了.
这有点问题,因为在一般情况下,在调用mainloop方法之后,您依靠Tcl来处理事件.由于您的应用程序什么都不做,因此Tcl没有理由对任何事情作出反应,尽管它最终会处理其他事件(正如您所注意到的,这可能需要一些时间).避免这种情况的一种方法是让Tcl/Tk做一些事情,安排人工事件,如:
from Tkinter import Tk
def check():
root.after(50, check) # 50 stands for 50 ms.
root = Tk()
root.after(50, check)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2162 次 |
| 最近记录: |