Tkinter
https://docs.python.org/ja/3/library/tkinter.html
Tkinter は Tk を Python から「Tcl/Tk」を扱うために標準で用意されているGUIライブラリです。Python の GUI ツールキットとしてはデファクトスタンダードと言えます。Python3 では 頭文字の「T」が小文字で、tkinter と記載します。
- Tcl(ティクル):シンプルな構造をしているスクリプト言語
- Tk(ティーケー):TclでGUIを開発するためのツールキット
環境の確認
tkinter は Pythonに標準で付属されているので、import して使えます。IDLEのPythonシェル(あるいは Terminal の Pythonシェルで)で、以下のように入力すると、右図のようなポップアップウインドウが表示されます。
>>> import tkinter >>> tkinter._test()
サンプルプログラム
tkinter ではUI コンポーネント (「ウィジェット」) をツリー状の階層構造を構成するように作成します。
sample.py
# ライブラリのインポート
from tkinter import *
from tkinter import ttk
# root要素(ウインドウ)の準備
root = Tk()
root.title('Tkinter Sample')
# ウィジェットの作成
frame = ttk.Frame( root, padding = 16)
label = ttk.Label( frame, text = 'YourName')
t = StringVar()
entry = ttk.Entry( frame, textvariable = t)
button = ttk.Button( frame, text = 'OK',
command = lambda: print('Hello!, %s.' % t.get()) )
# ウィジェットの配置
frame.pack( )
label.pack( side = LEFT )
entry.pack( side = LEFT )
button.pack( side = LEFT )
# メインループ
root.mainloop( )
実行の様子
- IDLE や PyCharm で「RUN(実行)」します。
- Terminal の場合は、カレントディレクトリで sample.py を実行
% python3 sample.py
- Terminal の場合は、カレントディレクトリで sample.py を実行
- ウインドウが表示されるので、テキストボックスに入力
- 開発環境のPythonコンソールに入力内容が反映されます。
Hello!, John Smith.
プログラムの解説
- 以下の記述で root要素(ウインドウ)が準備されます。
root = Tk()
- Frame を親要素として Label("YourName") 、Entry(テキストボックス)、 Button("OK")を作成しています。
- このサンプルでは、テキストボックスに文字列を入力してOKすると、print() 関数によってコンソールに文字列を表示します。
- pack( ) メソッドによって、親要素の中に子ウィジェットが追加されます。
- mainloop( )を呼ぶことでウィンドウが表示されます。


