1

本の例の1つに記載されている以下のコード行PyQtから自分で学習しようとしていますが、rapid gui programming with python and qt理解に苦労しています。meaning/requirement

class Form(QDialog):

        def __init__(self,parent=None):
                super(Form,self).__init__(parent) # Trouble understanding here

だから、私の質問は、何が必要なのか、このコードsuper(Form,self).__init__(parent)を完全に埋めようとしている目的は何なのかということです。

4

1 に答える 1

2

のドキュメントをsuper()見てください:

タイプの親クラスまたは兄弟クラスにメソッド呼び出しを委譲するプロキシ オブジェクトを返します。これは、クラスでオーバーライドされた継承メソッドにアクセスする場合に便利です。検索順序は、タイプ自体がスキップされることを除いて、getattr() で使用される順序と同じです。

したがって、基本的にこのコード行:

super(Form,self).__init__(parent)

__init__()現在のクラス ( Form) が継承しているクラスで「最も近い」set メソッドを見つけ、selfこのメソッドを使用してオブジェクトを開始parentし、最初の引数として渡します。

于 2012-05-19T20:50:37.557 に答える