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(),因此你需要自己呼叫它。

面板物件

由上述 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。這用於將任意資料與面板關聯,並且可以是任何 Python 物件。

Panel.show()

顯示面板(可能已被隱藏)。

Panel.top()

將面板推到堆疊的頂部。

Panel.userptr()

返回面板的使用者指標。這可以是任何 Python 物件。

Panel.window()

返回與面板關聯的視窗物件。