如何在 curses 中合并两个不同的边框

How to merge two different borders in curses

使用 curses for 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()

这创建了两个 windows,但是在边界相交的两个点中存在不连续性。我怎样才能删除它?

您可以通过用 ACS_LTEEACS_RTEE 字符覆盖这些空白来做到这一点。 python curses 参考部分 有关更多信息 指向 ncurses 手册页,说

If you’re in doubt about the detailed behavior of the curses functions, consult the manual pages for your curses implementation, whether it’s ncurses or a proprietary Unix vendor’s. The manual pages will document any quirks, and provide complete lists of all the functions, attributes, and ACS_* characters available to you.

在这种情况下,信息在 addch 手册页中。