我正在使用TKINTER在Python 2.7上制作程序。这是一个简单的TKINTER GUI,只有1个按钮,该按钮执行一个函数。
#Code for the tkinter
#function that the button calls
x=0
def check_entry():
While True:
try:
if(x==1):
#do something
except KeyboardInterrupt:
break
这就是一个例子,实际上我正在使用Raspberry Pi,而我正在检查的(而不是" X")是GPIO.input。
问题在于键盘插入每次都无法正常工作。虽然对代码进行了30次测试,但键盘线路工作了2次(按CTRL-C几乎20次)。
ps1:我正在工作raspbian。
PS2:我读到可能问题与解释器有关,所以我像.exe一样执行了程序(带有chmod x),但这无效。
PS3:我认为问题是"尝试:"函数每秒执行自身多次执行,因此该程序不会抓住Ctrl-C?
您无法在TCL/TK主循环中捕获KeyboardInterrupt
,只能由Python解释器本身处理。您应该使用另一种方式中断程序。
检查此答案以获取其他信息。