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( )を呼ぶことでウィンドウが表示されます。