1
Python cursesでは、curses.newwin()
関数を使って新しいウィンドウオブジェクトを作成できます。 newwin
関数からインスタンス化されるオブジェクトのクラスを拡張するにはどうすればよいですか?Python cursesモジュールでクラスを拡張するには
私はdir(curses)
を試しましたが、そこに明白なクラス名が見つかりませんでした。
Python cursesでは、curses.newwin()
関数を使って新しいウィンドウオブジェクトを作成できます。 newwin
関数からインスタンス化されるオブジェクトのクラスを拡張するにはどうすればよいですか?Python cursesモジュールでクラスを拡張するには
私はdir(curses)
を試しましたが、そこに明白なクラス名が見つかりませんでした。
curses.newwin
は、拡張タイプを返します。
残念ながら、拡張機能の種類の属性を設定することはできません。それは `呪いを再定義しているようにそれは見えませんが、アイデアのための
orig_newwin = curses.newwin
def newwin(*args):
win = orig_newwin(*args)
return Wrapper(win)
curses.newwin = newwin
ありがとう:
回避策として、あなたは元curses.newwin(..)
の戻り値をラップする新しいクラスのインスタンスを返すようにcurses.newwin
を再定義することができます。あなたは* argsを中継してはいけませんか? –@HolyMackerel、申し訳ありませんが、私は最後の行を逃しました。その行をインクルードし、 '* args'をリレーするように答えを更新してください。 – falsetru
クール、ありがとう:) –