私はwxpython SingleChoiceDialogクラスをサブクラス化しようとしています。私は、SingleChoiceDialogから継承したTableChoiceDialogクラスを汎用的な機能を追加しています。それに、より洗練された機能を追加する2つのサブクラスがあります。基本的に私は、すなわちwx.SingleChoiceDialogが正しくサブクラス化されないのはなぜですか?
class TableChoiceDialog(wx.SingleChoiceDialog):
def __init__(self, parent, message, caption, list, ...other args...):
wx.SingleChoiceDialog.__init__(self, parent, message, caption, list)
私がいる問題がSingleChoiceDialog.__init__
ドキュメンテーション文字列に応じてということです(と、私はスーパークラスの__init__
を呼び出す行を持って私のTableChoiceDialogクラスで
をOOP'ingよwxPython API)、SingleChoiceDialogには、__init__
メソッドの一部としてself引数がありません。
__init__(Window parent, String message, String caption,
List choices=EmptyList, long style=CHOICEDLG_STYLE,
Point pos=DefaultPosition) -> SingleChoiceDialog
私は上記のそれを持っていると、プログラムはエラーを出力します。
swig/python detected a memory leak of type 'wxSingleChoiceDialog *', no destructor found.
私は自己パラメータを取る場合は、システムがそれはそう最初の引数としてSingleChoiceDialog
オブジェクトを期待していたことを不平を言います実際に自己への参照を望んでいることを指しています。
私が親の議論を取り去ったとき、自己(そして私がかなり確信している他の3人)を残すと、システムはそれが必要なときに3つの引数しか受け取らなかったと訴える。 mを渡す。
だから。どんなに明白な間違いを私は作ったのですか?私は完全にPythonがオブジェクトを扱う方法を誤解していますか?私はOOP全体を誤解しましたか?
助けてください。事前のおかげで