curses.panel --- 针对 curses 的面板栈扩展


面板是具有添加深度功能的窗口,因此它们可以从上至下堆叠为栈,只有显示每个窗口的可见部分会显示出来。 面板可以在栈中被添加、上移或下移,也可以被移除。

函数

curses.panel 模块定义了以下异常:

exception curses.panel.error

当 curses panel 库函数返回错误时引发的异常。

curses.panel 模块定义了下列函数:

curses.panel.bottom_panel()

返回面板栈中的底部面板。

curses.panel.new_panel(win)

返回一个面板对象,将其与给定的窗口 win 相关联,并将新面板置于面板栈的顶部。请注意,你需要显式保留对所返回面板对象的引用。如果不这样做,面板对象将被垃圾回收并从面板栈中移除。

curses.panel.top_panel()

返回面板栈中的顶部面板。

curses.panel.update_panels()

在面板栈发生改变后更新虚拟屏幕。 这不会调用 curses.doupdate(),因此你必须自己来调用。

Panel 对象

class curses.panel.panel

由上面的 new_panel() 所返回的 Panel 对象是具有堆叠顺序的窗口。始终会有一个窗口与面板相关联以确定其内容,而面板方法则负责窗口在面板栈中的深度。

Panel 对象具有以下方法:

panel.above()

返回当前面板之上的面板。

panel.below()

返回当前面板之下的面板。

panel.bottom()

将面板推至栈底部。

panel.hidden()

如果面板被隐藏(不可见)则返回 True,否则返回 False。

panel.hide()

隐藏面板。 这不会删除对象,它只是让窗口在屏幕上不可见。

panel.move(y, x)

将面板移至屏幕坐标 (y, x)。

panel.replace(win)

Change the window associated with the panel to the window win. Raise curses.panel.error if win has been detached from its screen by screen.close().

panel.set_userptr(obj)

将面板的用户指针设为 obj。 这被用来将任意数据与面板相关联,数据可以是任何 Python 对象。

panel.show()

显示面板(该面板可能已被隐藏),并将其置于面板栈顶部。

panel.top()

将面板推至栈顶部。

panel.userptr()

返回面板的用户指针。 这可以是任何 Python 对象。

panel.window()

返回与面板相关联的窗口对象。