0
curses.newwin()
を呼び出して作成された組み込みウィンドウクラスcurses
を拡張したいと思います。Python3でcursesウィンドウクラスを拡張するには?
しかし、その下の¿newwin?
プレースホルダを置き換えるべきクラスの実際の名前を見つけるのは難しいです。
#!/usr/bin/python3
import curses
class Window(curses.¿newwin?):
def __init__(self, title, h, w, y, x):
super().__init__(h, w, y, x)
self.box()
self.hline(2, 1, curses.ACS_HLINE, w-2)
self.addstr(1, 2, title)
self.refresh()
def main(screen):
top_win = Window('Top window', 6, 32, 3, 6)
top_win.addstr(3, 2, 'Test string added.')
top_win.refresh()
ch = top_win.getch()
# MAIN
curses.wrapper(main)
ドキュメントからは、cursesウィンドウクラスがパブリックAPIの一部であるとは思われません。むしろ、文書化された関数のいくつかは、型が指定されていない、いくつかの文書化されたメソッドを持つ半不透明な "window"オブジェクトを返します。あなたのクラスの継承ではなく、カプセル化の使用を検討しましたか?適切な '__getattr__'メソッドを書くと、あなたの例で示したことの多くがうまくいくでしょう。 – Blckknght