【发布时间】:2020-08-21 09:04:53
【问题描述】:
blessed Python 库看起来非常适合制作控制台应用程序,但我在使用键盘功能时遇到了问题。在下面的代码中,仅检测到每秒一次的按键。请问这是为什么?
我使用的是带有 Python 3.8 的 Windows 10。
from blessed import Terminal
term = Terminal()
print(f"{term.home}{term.black_on_skyblue}{term.clear}")
with term.cbreak(), term.hidden_cursor():
while term.inkey() != 'q':
inp = term.inkey()
if inp.name == "KEY_LEFT":
print("You pressed left")
【问题讨论】:
-
嘿伙计,您能对我的回答提供一些反馈吗?它解决了你的问题吗?
-
好吧,它引导我找到解决方案,但实际问题是重复调用
term.inkey(),这应该只发生一次。最初将inp设置为""不起作用,因为None没有属性name。所以我使用while True循环进行了重组。非常感谢,但您的答案并不完全正确,因为第一次按键仍然被忽略。 -
很高兴您设法解决了这个问题,但我相信我的回答仍然正确。您的代码执行您声称的操作,仅检测到每秒一次的按键操作。但是,如果您将其替换为我的代码,实际上会检测到每个按键,从而解决了最初的问题。
-
不完全如此——错过了第一次按键,这是一个相当严重的问题。
标签: python console-application keyboard-events blessed