2016-11-19 2 views
1

In Python Flüche kann ein neues Fensterobjekt mit der curses.newwin() Funktion erstellt werden. Wie kann ich die Klasse der Objekte erweitern, die von der newwin-Funktion instanziiert werden?Wie kann ich eine Klasse in Python Fluch Modul erweitern

Ich habe versucht aber konnte keine offensichtlichen Klassennamen für mich dort zu erweitern.

Antwort

1

curses.newwin gibt einen Erweiterungstyp zurück.

Leider können Sie keine Attribute für Erweiterungstypen festlegen.

Als Abhilfe können Sie curses.newwin neu definieren eine neue Klasse Instanz zurückzugeben, die den Rückgabewert der ursprünglichen curses.newwin(..) Wraps:

orig_newwin = curses.newwin 
def newwin(*args): 
    win = orig_newwin(*args) 
    return Wrapper(win) 
curses.newwin = newwin 
+1

Danke für die Idee, obwohl, dass es nicht aussehen wie die 'Flüche neu zu definieren. Newwin', und sollten Sie die * Argumente nicht weiterleiten? –

+1

@HolyMackerel, Sorry, ich habe die letzte Zeile verpasst. Aktualisieren Sie einfach die Antwort, um die Zeile einzuschließen und '* args' weiterzuleiten. – falsetru

+0

Cool, danke :) –

Verwandte Themen