键盘中断不能在我的程序上运行

时间:2017-09-14 15:13:42

标签: python tkinter raspbian raspberry-pi3 keyboardinterrupt

我正在使用tkinter在python 2.7上创建一个程序。这是一个简单的tkinter GUI,只有一个按钮,该按钮执行一个功能。

for (int xOffset = -1; xOffset <= 1; xOffset++) {
    for (int yOffset = -1; yOffset <= 1; yOffset++) {
        if (xOffset == 0 && yOffset == 0) {
            continue;
        }
        //My Code
    }
}

这是一个例子,实际上我正在使用覆盆子pi,我正在检查(而不是“x”)是GPIO.input。

问题是KeyboardInterrupt每次都不起作用。在使用代码执行30次测试时,KeyboardInterrupt工作了2次(在按CTRL-C几乎20次之后)。

PS1:我在Raspbian工作 PS2:我读到可能问题出在解释器上,所以我执行的程序就像一个.exe(用chmod + x)而且没有用。
PS3:我认为问题是“Try:”函数每秒执行多次,所以程序没有赶上CTRL-C的压力?

1 个答案:

答案 0 :(得分:1)

你无法在Tcl / Tk主循环中捕获KeyboardInterrupt,它只能由Python解释器本身处理。你应该用另一种方法打断你的程序。

检查this answer以获取更多信息。