Как объединить две разные границы в curses

Используя curses для python, как я могу плавно объединить две границы? Например:

import curses

screen = curses.initscr()
curses.curs_set(0)
screen.border()
screen.refresh()

awindow =  curses.newwin(3, curses.COLS, 0, 0)
awindow.border()
awindow.refresh()

while True:
    curses.noecho()
    c = screen.getch(1, 1)
    if c == ord('q') or c == ord('Q'):
        break

curses.endwin()

это создает два окна, но в двух точках, где встречаются границы, есть разрыв. Как я могу удалить это?

введите здесь описание изображения


person noibe    schedule 28.07.2019    source источник


Ответы (1)


Вы можете сделать это, перезаписав эти пробелы символами ACS_LTEE и ACS_RTEE. Справочный раздел python curses Для получения дополнительной информации указывает на справочные страницы ncurses, говоря:

Если вы сомневаетесь в подробностях поведения функций curses, обратитесь к страницам руководства для вашей реализации curses, будь то ncurses или проприетарный поставщик Unix. На справочных страницах будут описаны все особенности и предоставлены полные списки всех доступных вам функций, атрибутов и ACS_* символов.

В этом случае информация находится в addch страница руководства.

person Thomas Dickey    schedule 28.07.2019