1. 1 メインウィンドウの作成
tkinter GUI アプリケーションを作成するには、(1) tkinter モジュールのインポート、(2) メインウィンドウの作成、(3) イベント待機メソッドの実行、が必要です。GUI の実行コードは (2) と (3) のコードの間に記述します。
(1) tkinter モジュールは Python に同梱されている標準のモジュールで、他の標準モジュールと同様に import 文でアプリケーションにインポートします。モジュール名をそのまま使用しても良いですが、本書では「tk」という名前に置き換えて使用します。
import tkinter as tk |
(2) メインウィンドウは tkinter の「Tk」クラスをインスタンス化することで作成できます。
引数
メソッド
Wm クラスメソッド
備考
定義されている引数はデフォルト設定で使用し、アプリケーションでは使用しません。引数を設定せずにインスタンス化します。
「Misc」クラスに特殊メソッドの「__setitem__」と「__getitem__」が定義されていて、オブジェクトからキーワードインデックスでオプションの値を設定、取得することができます。同様に、特殊メソッドの「__str__」が定義されていて、「str」関数でオブジェクトのパス名を取得することができます。
「Tk」クラスからインスタンスオブジェクトを作成し、任意の変数に代入します。ここでは 「root」としています。ウィンドウのオブジェクトを代入した変数は、後にこのウィンドウを操作するために用います。
import tkinter as tk | |
root = tk.Tk() |
(3) 作成したウィンドウを表示し続けるには、ウィンドウに対するイベントを処理するために待機させる必要があります。Misc クラスにイベント処理用の「mainloop」メソッドが定義されています。このメソッドは、ウィンドウが削除されるまでウィンドウを表示し、イベントを処理するために使用されます。下記の書式を用います。詳細は Misc クラスメソッドを参照して下さい
次のプログラムはメインウィンドウを作成して表示しています。
import tkinter as tk | |
root = tk.Tk() | |
root.mainloop() |
このプログラムを実行すると、下図のようにPC画面(スクリーン)にウィンドウが表示されます。

デフォルトでウィンドウは上部にタイトルバーがあり、これをマウスでドラッグすることで移動することができます。ウィンドウの境界をマウスでドラッグするとサイズを変更することができます。
タイトルバーには「tk」というタイトル名があり、その左側のアイコンをマウスで左クリックするとシステムメニューが表示されます。
タイトルバーには最小化、最大化のボタンがあり、それぞれマウスで左クリックするとウィンドウを最小化(アイコン化)および最大化します。タイトルバーの右側には終了ボタンがあり、マウスで左クリックすることでウィンドウを閉じることができます。システムメニューの閉じるメニューを選択してもウィンドウを閉じることができます。ウィンドウが閉じられるとプログラムは「mainloop」メソッドから抜けて次のコードに進みます。