curses.panel — curses 용 패널 스택 확장


패널은 깊이 기능이 추가된 창이라서, 서로의 위에 쌓을 수 있으며, 각 창의 보이는 부분만 표시됩니다. 패널을 추가하고, 스택에서 위나 아래로 옮기고, 제거할 수 있습니다.

함수

curses.panel 모듈은 다음 함수를 정의합니다:

curses.panel.bottom_panel()

패널 스택에서 최하단 패널을 반환합니다.

curses.panel.new_panel(win)

주어진 창 win과 연관 지어진 패널 객체를 반환합니다. 반환된 패널 객체가 명시적으로 참조되도록 유지해야 합니다. 그렇지 않으면 패널 객체는 가비지 수집되어 패널 스택에서 제거됩니다.

curses.panel.top_panel()

패널 스택의 최상단 패널을 반환합니다.

curses.panel.update_panels()

패널 스택이 변경된 후 가상 화면을 갱신합니다. 이것은 curses.doupdate()를 호출하지 않아서, 여러분이 직접 해야 합니다.

Panel 객체

위의 new_panel()에 의해 반환된 패널 객체는 쌓인 순서가 있는 창입니다. 패널과 연관된 창이 항상 있고, 창이 내용을 결정합니다. 패널 메서드는 패널 스택에서 창의 깊이를 담당합니다.

패널 객체에는 다음과 같은 메서드가 있습니다:

Panel.above()

현재 패널 위의 패널을 반환합니다.

Panel.below()

현재 패널 아래의 패널을 반환합니다.

Panel.bottom()

패널을 스택 맨 아래로 밉니다.”

Panel.hidden()

패널이 숨겨져 있으면 (보이지 않으면) True를, 그렇지 않으면 False를 반환합니다.

Panel.hide()

패널을 숨깁니다. 이것은 객체를 삭제하지 않고, 화면의 창을 보이지 않게 합니다.

Panel.move(y, x)

패널을 화면 좌표 (y, x)로 이동합니다.

Panel.replace(win)

패널과 연관된 창을 창 win으로 변경합니다.

Panel.set_userptr(obj)

패널의 사용자 포인터를 obj로 설정합니다. 이것은 임의의 데이터를 패널과 연관시키는 데 사용되며, 임의의 파이썬 객체가 될 수 있습니다.

Panel.show()

(숨겼을 수도 있는) 패널을 표시합니다.

Panel.top()

패널을 스택 맨 위로 밉니다.

Panel.userptr()

패널의 사용자 포인터를 반환합니다. 이것은 임의의 파이썬 객체일 수 있습니다.

Panel.window()

패널과 연관된 창 객체를 반환합니다.