textbox.edit()返回意外字符

时间:2019-05-07 11:12:28

标签: python-3.x textbox curses

我使用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]。

我的环境:

  1. python 3.6.0;
  2. OS X。

1 个答案:

答案 0 :(得分:1)

问题是您在用于编辑文本的窗口中绘制了一个边框(奇数字符是边框)。使可编辑窗口成为绘制边框的窗口的子窗口