1
在Python curses中,可以使用curses.newwin()
函數創建一個新的窗口對象。如何擴展newwin
函數實例化的對象的類?如何在Python curses模塊中擴展一個類
我試過dir(curses)
但是找不到任何明顯的類名給我擴展。
在Python curses中,可以使用curses.newwin()
函數創建一個新的窗口對象。如何擴展newwin
函數實例化的對象的類?如何在Python curses模塊中擴展一個類
我試過dir(curses)
但是找不到任何明顯的類名給我擴展。
curses.newwin
返回一個擴展類型。
不幸的是,你不能設置擴展類型的屬性。
作爲一種變通方法,您可以重新定義curses.newwin
返回一個包裝原curses.newwin(..)
的返回值一個新的類實例:
orig_newwin = curses.newwin
def newwin(*args):
win = orig_newwin(*args)
return Wrapper(win)
curses.newwin = newwin
感謝您的想法雖然這看起來並不像它重新定義'詛咒。 newwin',你不應該傳遞* args嗎? –
@HolyMackerel,對不起,我錯過了最後一行。只需更新答案以包含該行並轉發'* args'。 – falsetru
很酷,謝謝:) –