16.1.5 Tk と Tkinter はどのように関わっているのか

注意: 以下の構図は図版をもとに書き下ろしたものです。このドキュメントの 今後のバージョンでは、図版をもっと直接的に利用する予定です。

上から下に、呼び出しの階層構造を説明してゆきます:

あなたのアプリケーション (Python)
まず、 Python アプリケーションがTkinterを呼び出します。

Tkinter ( Python モジュール)
上記の呼び出し (例えば、ボタンウィジェットの作成) は、 Tkinter モジュール内で実現されており、Python で書かれています。 この Python で書かれた関数は、コマンドと引数を解析して変換し、あたかも コマンドが Python スクリプトではなく Tk スクリプトから来たように みせかけます。

tkinter (C)
上記のコマンドと引数は tkinter (小文字です。注意してください) 拡張モジュール内の C 関数に渡されます 。 

Tk Widgets (C and Tcl)
上記の C 関数は、Tk ライブラリを構成する C 関数の入った別の C モジュールへの呼び出しを行えるようになっています。 Tk は C と Tcl を少し使って実装されています。 Tk ウィジェットの Tcl 部分は、ウィジェットのデフォルト動作をバインド するために使われ、Python で書かれたTkinter モジュールが import される時点で一度だけ実行されます。(ユーザがこの過程を目にする ことはありません。

Tk (C)
Tkウィジェットの Tk 部分で実装されている最終的な対応付け操作によって...

Xlib (C)
Xlib ライブラリがスクリーン上にグラフィックスを描きます。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。