curses.panel — Eine Panel-Stapel-Erweiterung für curses


Panels sind Fenster mit der zusätzlichen Eigenschaft einer Tiefe, sodass sie übereinander gestapelt werden können und von jedem Fenster nur die sichtbaren Teile angezeigt werden. Panels können hinzugefügt, im Stapel nach oben oder unten verschoben und entfernt werden.

Funktionen

Das Modul curses.panel legt die folgende Ausnahme fest:

exception curses.panel.error

Ausnahme, die ausgelöst wird, wenn eine Funktion der curses-Panel-Bibliothek einen Fehler zurückgibt.

Das Modul curses.panel legt die folgenden Funktionen fest:

curses.panel.bottom_panel()

Gibt das unterste Panel im Panel-Stapel zurück.

curses.panel.new_panel(win)

Gibt ein Panel-Objekt zurück, verbindet es mit dem angegebenen Fenster win und legt das neue Panel oben auf den Panel-Stapel. Beachte, dass du das zurückgegebene Panel-Objekt ausdrücklich referenziert halten musst. Tust du das nicht, wird das Panel-Objekt von der Speicherbereinigung erfasst und aus dem Panel-Stapel entfernt.

curses.panel.top_panel()

Gibt das oberste Panel im Panel-Stapel zurück.

curses.panel.update_panels()

Aktualisiert den virtuellen Bildschirm nach Änderungen am Panel-Stapel. Dabei wird curses.doupdate() nicht aufgerufen, das musst du also selbst tun.

Panel-Objekte

class curses.panel.panel

Panel-Objekte, wie new_panel() sie oben zurückgibt, sind Fenster mit einer Stapelreihenfolge. Mit einem Panel ist immer ein Fenster verbunden, das den Inhalt bestimmt, während die Methoden des Panels für seine Tiefe im Panel-Stapel zuständig sind.

Panel-Objekte haben die folgenden Methoden:

panel.above()

Gibt das Panel über dem aktuellen Panel zurück.

panel.below()

Gibt das Panel unter dem aktuellen Panel zurück.

panel.bottom()

Schiebt das Panel an das untere Ende des Stapels.

panel.hidden()

Gibt True zurück, wenn das Panel verborgen (nicht sichtbar) ist, sonst False.

panel.hide()

Verbirgt das Panel. Dabei wird das Objekt nicht gelöscht, sondern nur das Fenster auf dem Bildschirm unsichtbar gemacht.

panel.move(y, x)

Verschiebt das Panel an die Bildschirmkoordinaten (y, x).

panel.replace(win)

Wechselt das mit dem Panel verbundene Fenster zum Fenster win.

panel.set_userptr(obj)

Setzt den Benutzerzeiger des Panels auf obj. Damit wird ein beliebiges Datenstück mit dem Panel verbunden, und es kann jedes Python-Objekt sein.

panel.show()

Zeigt das Panel an (das verborgen gewesen sein kann) und legt es oben auf den Panel-Stapel.

panel.top()

Schiebt das Panel an das obere Ende des Stapels.

panel.userptr()

Gibt den Benutzerzeiger des Panels zurück. Das kann jedes Python-Objekt sein.

panel.window()

Gibt das mit dem Panel verbundene Fensterobjekt zurück.