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
을 다시 정의 할 수 있습니다. newwin', 그리고 당신은 * args를 중계하지 않아야합니까? –@HolyMackerel, 죄송합니다, 마지막 라인을 놓쳤습니다. 라인을 포함하고'* args'를 중계하기위한 답을 업데이트하십시오. – falsetru
쿨, 고마워요. :) –