2 回答

TA貢獻1827條經驗 獲得超8個贊
我發現了問題所在。比較if語句中的值時出現問題。解決了我自己的問題。伊皮
import curses
text = []
def main(screen):
curses.curs_set(1)
while True:
newChar = screen.getch()
if newChar not in [curses.KEY_LEFT, curses.KEY_RIGHT, curses.KEY_UP, curses.KEY_DOWN]:
screen.addstr(0, 0, curses.keyname(newChar))
screen.refresh()
curses.wrapper(main)

TA貢獻1798條經驗 獲得超3個贊
getkey返回一個字符串;將其與整數進行比較,例如curses.KEY_UP不會達到您的預期。
這有效:
import curses
text = []
def main(screen):
curses.curs_set(1)
curses.noecho()
while True:
newChar = screen.getch()
# newChar = screen.getkey()
if newChar != curses.KEY_LEFT and curses.KEY_RIGHT and curses.KEY_UP and curses.KEY_DOWN:
screen.addstr(0, 0, curses.keyname(newChar))
screen.refresh()
curses.wrapper(main)
添加回答
舉報