wxpython SingleChoiceDialog クラスをサブクラス化しようとしています。一般的な機能を追加する SingleChoiceDialog を継承する TableChoiceDialog クラスがあり、より洗練された機能を追加するための 2 つのサブクラスがあります。基本的に私はOOPしています
__init__
私のTableChoiceDialogクラスには、スーパークラスの を呼び出す行があります。
class TableChoiceDialog(wx.SingleChoiceDialog):
def __init__(self, parent, message, caption, list, ...other args...):
wx.SingleChoiceDialog.__init__(self, parent, message, caption, list)
私が抱えている問題は、SingleChoiceDialog.__init__
docstring (および wxPython API) によると、SingleChoiceDialog がメソッドの一部として self 引数を持っていないこと__init__
です。
__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.
self パラメーターを取り出すと、システムはSingleChoiceDialog
最初の引数としてオブジェクトを期待していると不平を言います。これは、実際には self への参照が必要であることを示しているようです。
親の引数を取り出して、self を残して (他の 3 つは問題ないと確信しています)、システムは、4 が必要なときに 3 つの引数しか受け取っていないと不平を言います。4 を渡していると確信しています。
そう。私が犯した明白な間違いは何ですか?Pythonがオブジェクトを処理する方法を完全に誤解していますか(したがって、Pythonをかなり誤解しています)?OOP全体を誤解していますか?
助けてください。前もって感謝します