textbox.edit () возвращает неожиданные символы - PullRequest
0 голосов
/ 07 мая 2019

Я разработал консольное приложение с использованием 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 Ответ

1 голос
/ 08 мая 2019

Проблема в том, что вы нарисовали границу в окне, которое использовали для редактирования текста (а нечетные символы - это граница).Сделайте редактируемое окно подокном окна, на котором вы рисуете границу.

...