我使用curses开发了一个控制台应用程序。 问题是curses.textpad.Textbox.edit()返回键入的字符和一些意外字符,例如'qqqqqj'。
import curses
from curses import textpad
def main(stdscr):
curses.curs_set(0)
window = stdscr.subwin(1, 10, 1, 1)
window.clear()
window.border()
window2 = stdscr.subwin(2, 10, 3, 1)
window2.clear()
widget = textpad.Textbox(window, insert_mode=True)
window.refresh()
a = widget.edit()
window2.addstr(0, 0, a)
window2.refresh()
curses.doupdate()
window2.getch()
if __name__ == '__main__':
curses.wrapper(main)
终端输出为(例如):
123──────┘
123qqqqqqj
我不明白这是什么吗?以及如何避免呢?现在,我决定使用a.split('j')[0]。
我的环境:
答案 0 :(得分:1)
问题是您在用于编辑文本的窗口中绘制了一个边框(奇数字符是边框)。使可编辑窗口成为绘制边框的窗口的子窗口。