파이썬의 콘솔에서 실행할 때 간단한 위젯을 생성하는 함수를 작성하려고합니다. 이 위젯은 터미널 크기를 인식해야합니다. 위젯을 표시 한 후 사용자의 키보드 입력을 기다리고 유형에 따라 내용을 조정합니다. 지금 당장 가지고있는 어려움은 사용자가 터미널의 크기를 조정할 때 해당 위젯이 디스플레이 을 조정하는 방법입니다. 사용자가 터미널을 확장, 또는 그 (한 번에 1 개 문자) 터미널하지만 매우 느리게을 축소하는 경우 경우변경 터미널의 너비에 출력을 적응하는 방법
def test():
import blessed
import signal
def draw():
n = term.width - 3
print("+" + "=" * n + "+" + term.clear_eol)
print("|" + " " * (n//2 - 2) +
"TEST" + " " * (n - n//2 - 2) + "|" + term.clear_eol)
print("+" + "=" * n + "+" + term.clear_eol)
def redraw(_, __):
print(term.move_up * 3, end="")
draw()
term = blessed.Terminal()
draw()
signal.signal(signal.SIGWINCH, redraw)
with term.cbreak():
term.inkey()
이 잘 작동 : 여기에 내가 지금 가지고있는 코드의 단순화 된 버전입니다. 그러나 단자 너비를 빨리 줄이면 긴 선이 감겨져 출력이 손상 될 수 있습니다. 이 문제를 해결할 수있는 방법이 있습니까?
[파이썬에서 콘솔 창 너비를 얻는 방법] (http://stackoverflow.com/questions/566746/how-to-get-console-window-width-in-python) – nir0s