0
爲什麼當我運行這個代碼時,box.getch()
返回一個錯誤的值,當我將box.getch()
更改爲screen.getch()
時,它返回正確的值?我一直在尋找互聯網,並沒有人說getch()
只適用於屏幕。如果按下其中一個箭頭,它將返回27,這是ESC的字符。 (此代碼應打印的字符,直到用戶按ESC ...)Python Curses window.getch()返回錯誤的值
import curses
screen = curses.initscr()
curses.noecho()
curses.cbreak()
curses.start_color()
screen.keypad(1)
curses.init_pair(1,curses.COLOR_BLACK, curses.COLOR_CYAN)
highlightText = curses.color_pair(1)
normalText = curses.A_NORMAL
screen.border(0)
curses.curs_set(0)
box = curses.newwin(22, 64, 1, 1)
box.box()
box.addstr(14, 3, "YOU HAVE PRESSED: ")
screen.refresh()
box.refresh()
x = box.getch()
while x != 27:
box.erase()
box.addstr(14, 3, "YOU HAVE PRESSED: " + str(x))
screen.border(0)
box.border(0)
screen.refresh()
box.refresh()
x = box.getch()
curses.endwin()
exit()
您是否可以將示例降低到最低限度? –
你的意思是?它發生,如果我按下curses.KEY_DOWN box.getch()返回27這是ESC值 –
除了@彼得的評論,你可能想讀[問]。 – boardrider