が、私は以下のコードが何を意味するのか理解したい__init__:理解親とコントローラが
class PageOne(tk.Frame):
def __init__(self, parent, controller):
self
、parent
とcontroller
何ですか?これらのツールの役割と範囲は?
self
はJavaのthis
と似ていますが、parent
とcontroller
はどういう意味ですか?その後、私が見ることができるコードフローで
:
button1 = tk.Button(self, text="Back to Home",
command=lambda: controller.show_frame(StartPage))
ありshow_frame
呼ばれ、すでに定義された関数があるが、なぜコントローラは、この関数を呼び出すために使用されていますか?
彼らは、メソッドへのパラメータです。あなたについて何を混乱させるのですか?インスタンス化呼び出しに渡されたパラメータを使って自動的に呼び出される点を除いて、ここでは '__init__'は特別なことはありません。 –
* "私は自己がJavaのこれと似ていると信じています" * - そうです。 * "親とコントローラの使い方は何ですか?" * - それらは2つの初期化パラメータです。Tkinterでは、新しいウィジェットがそれぞれの新しいウィジェットに置かれる 'parent'ウィジェットを渡して、UI全体のツリーを定義します。 'controller'は明らかに、グローバルな変更を担当するウィジェットを作るのではなく、UI全体を制御するために使用できるものです。 – jonrsharpe
コードはhttp://stackoverflow.com/q/29444725/3001761 – jonrsharpe