J'essaie de sous-classer la classe wxpython SingleChoiceDialog. J'ai une classe TableChoiceDialog qui hérite de SingleChoiceDialog en ajoutant une fonctionnalité générique, et j'ai 2 sous-classes pour cela ajouter des fonctionnalités plus raffinées. Au fond, je suis OOP'ingPourquoi wx.SingleChoiceDialog ne sous-classe pas correctement
Dans ma classe TableChoiceDialog j'ai une ligne qui appelle __init__
de la superclasse, à savoir
class TableChoiceDialog(wx.SingleChoiceDialog):
def __init__(self, parent, message, caption, list, ...other args...):
wx.SingleChoiceDialog.__init__(self, parent, message, caption, list)
Le problème que je vais avoir est que, selon le SingleChoiceDialog.__init__
docstring (et API wxPython), SingleChoiceDialog n'a pas l'argument self dans sa méthode __init__
.
__init__(Window parent, String message, String caption,
List choices=EmptyList, long style=CHOICEDLG_STYLE,
Point pos=DefaultPosition) -> SingleChoiceDialog
Comme je l'ai ci-dessus, le programme imprime l'erreur:
swig/python detected a memory leak of type 'wxSingleChoiceDialog *', no destructor found.
Si je prends le paramètre auto du système se plaint qu'il attendait un objet SingleChoiceDialog
comme premier argument, qui semble pour indiquer qu'il veut réellement une référence à soi.
Quand je sors l'argument parent, en laissant moi-même (et les 3 autres dont je suis sûr que ça va) le système se plaint qu'il n'a reçu que 3 arguments, quand il en avait besoin 4. Je suis assez certain m passant à 4.
Donc. Quelle erreur manifestement évidente ai-je faite? Ai-je totalement mal compris comment python gère les objets (et donc à peu près mal compris python)? Ai-je mal compris la POO dans son ensemble?
Aidez-nous s'il vous plaît. Merci à l'avance