Python 无法使用诅咒获取密钥
我试图用诅咒来显示一些统计数据,但我确实面临一个问题 我想有一个窗口,允许滚动感谢键盘。为此,我创建了一个变量self.scroll,它告诉我应该显示哪些行。问题是每当我按下按键时,我想增加这个变量 这是我的密码: 在类的init中,我有:Python 无法使用诅咒获取密钥,python,python-3.x,listener,curses,Python,Python 3.x,Listener,Curses,我试图用诅咒来显示一些统计数据,但我确实面临一个问题 我想有一个窗口,允许滚动感谢键盘。为此,我创建了一个变量self.scroll,它告诉我应该显示哪些行。问题是每当我按下按键时,我想增加这个变量 这是我的密码: 在类的init中,我有: self.stdscr = stdscr self.scroll = 0 stdscr.nodelay(1) stdscr.keypad(1) 然后: while True: ch = self.st
self.stdscr = stdscr
self.scroll = 0
stdscr.nodelay(1)
stdscr.keypad(1)
然后:
while True:
ch = self.stdscr.getch()
if ch == curses.KEY_DOWN:
self.scroll += 1
self.add_alert()
ch = None
elif ch == curses.KEY_UP:
if self.scroll >= 1:
self.scroll -= 1
self.add_alert()
ch = None
我还使用了一个可以找到的包装器来初始化所有内容
事实上,无论发生什么情况,变量滚动都会停留在0。此外,我每次按下时都会看到我按下的每个键(例如^[[A]),即使设置了noecho()。
我使用了nodelay(),因为我的线程也在处理一些事情,我不希望它在等待按键时停止。
你知道它会从哪里来吗
非常感谢,
Djaz如果使用
节点延迟
,则会干扰键盘
。请使用超时
,并使用较短的超时值。(对于大多数人来说,10毫秒的超时时间适用).最后,它从一开始就起作用了。问题是,出于一些奇怪的原因,诅咒没有检测到键向上和键向下。我只是用u和d替换了它们
if ch == ord('p'):
一切正常
谢谢大家!您好,非常感谢!我不知道我怎么会在文档中遗漏了这一点。不幸的是,我的变量没有递增。我的代码中有几个窗口,我是否需要全部输入键盘(1)和超时(10)?