
【6日でできるPython入門】Tkinterとは
Tkinterは、Python標準搭載のGUI(グラフィカルユーザーインターフェース)ライブラリです。
Pythonでデスクトップアプリケーションを作るとき、追加インストールなしで使え、初心者から上級者まで幅広く利用されています。
項目 | 内容 |
---|---|
概要 | Python標準のGUI(グラフィカルユーザーインターフェース)ライブラリ。 |
由来 | 「Tkinter」は「Tk interface」の略。Tcl/TkというツールキットをPythonから使うためのもの。 |
特徴 | - Pythonに標準で付属(追加インストール不要)- クロスプラットフォーム(Windows, macOS, Linuxで動作)- 簡単なGUIアプリ作成に最適 |
主な用途 | ボタン、ラベル、テキスト入力、リスト、メニューなど、基本的なデスクトップアプリ作成 |

Tkinterの基本的な使い方
1.インストール
- Windows/macOS:通常はそのまま使えます。
- Linux:
python3-tk
パッケージが必要な場合があります。
例:sudo apt install python3-tk
2.基本の流れ(サンプル付き)
1. インポート
import tkinter as tk
2. ウィンドウの作成
root = tk.Tk() # メインウィンドウ作成
root.title("サンプルアプリ") # タイトル
root.geometry("300x200") # サイズ指定
3. ウィジェットの作成と配置
label = tk.Label(root, text="Hello, Tkinter!") # ラベル
label.pack() # 配置
button = tk.Button(root, text="クリックしてね") # ボタン
button.pack() # 配置
配置方法まとめ
pack()
: 上下/左右に順番に配置grid()
: 表のように行・列で配置place()
: 座標指定で配置
4. イベント処理(コールバック関数)
def on_click():
label.config(text="ボタンが押されました!")
button = tk.Button(root, text="クリック", command=on_click)
button.pack()
5. メインループ開始
root.mainloop()
最小限のサンプルプログラム
ファイル名: lesson28-1.py
import tkinter as tk
def on_click():
label.config(text="ボタンが押されました!")
root = tk.Tk()
root.title("Tkinter基本サンプル")
root.geometry("300x200")
label = tk.Label(root, text="Hello, Tkinter!")
label.pack()
button = tk.Button(root, text="クリック", command=on_click)
button.pack()
root.mainloop()
実行画面

ポイント
ステップ | コード例 | 説明 |
---|---|---|
1. インポート | import tkinter as tk | Tkinterライブラリの読み込み。 |
2. ウィンドウ作成 | root = tk.Tk() | メインウィンドウを生成 |
3. ウィジェット作成 | Label , Button など | 部品の作成 |
4. 配置 | .pack() , .grid() | ウィジェットをウィンドウに配置 |
5. イベント処理 | command=関数名 | ボタン等の操作時に実行 |
6. メインループ | root.mainloop() | アプリを実行し続ける。 |
Tkinterで作る簡単なアプリ例
ファイル名: lesson28-2.py
import tkinter as tk
def greet():
name = entry.get()
label.config(text=f"こんにちは、{name}さん!")
root = tk.Tk()
root.title("挨拶アプリ")
root.geometry("320x120")
entry = tk.Entry(root)
entry.pack()
button = tk.Button(root, text="あいさつ", command=greet)
button.pack()
label = tk.Label(root, text="")
label.pack()
root.mainloop()
実行画面

はい、Tkinterで使える主な部品(ウィジェット)と、部品の配置方法について分かりやすく解説します。
Tkinterで使える主な部品(ウィジェット)
Tkinterには「ウィジェット」と呼ばれる部品が多数用意されています。
下記の表に、よく使う代表的なウィジェットとその用途をまとめます。
ウィジェット名 | 機能・用途 | サンプルコード例 |
---|---|---|
Label | 文字や画像などを表示 | tk.Label(root, text="ラベル") |
Button | ボタン。クリックでイベント処理 | tk.Button(root, text="ボタン") |
Entry | 1行のテキスト入力欄 | tk.Entry(root) |
Text | 複数行のテキスト入力欄 | tk.Text(root) |
Checkbutton | チェックボックス | tk.Checkbutton(root, text="同意する") |
Radiobutton | ラジオボタン(選択肢の中から1つ選択) | tk.Radiobutton(root, text="A", value=1) |
Listbox | リストから複数項目を選択 | tk.Listbox(root) |
Scale | スライダーで数値を調整 | tk.Scale(root, from_=0, to=100) |
Spinbox | 数値や項目をスピンボックスで選択 | tk.Spinbox(root, from_=0, to=10) |
Canvas | 線や図形、画像などを自由に描画できる領域 | tk.Canvas(root, width=200, height=100) |
Frame | ウィジェットをグループ化するコンテナ | tk.Frame(root) |
Menu | メニューバーやプルダウンメニューを作成 | tk.Menu(root) |
Message | 複数行のテキストメッセージ表示 | tk.Message(root, text="メッセージ") |
Scrollbar | スクロールバー | tk.Scrollbar(root) |
部品(ウィジェット)の配置方法
Tkinterには主に3つの配置方法があります。
それぞれの特徴と使い方を表でまとめます。
配置方法 | 使い方例 | 特徴・ポイント |
---|---|---|
pack() | widget.pack() | ウィジェットを上下・左右方向に順番に並べる。シンプルで簡単。 |
grid() | widget.grid(row=0, column=0) | ウィジェットを表(グリッド)のように、行・列で配置。フォーム画面などで便利。 |
place() | widget.place(x=10, y=20) | x, y座標(ピクセル単位)で絶対位置に配置。細かいレイアウト制御に使う。 |
簡単な使い分け
- pack():基本の自動並び。簡単なレイアウトに向いている。
- grid():行・列で表のように配置したいとき。
- place():細かく位置を指定したい場合。
配置方法のサンプルコード
pack() の例
label = tk.Label(root, text="上に配置")
label.pack(side="top")
button = tk.Button(root, text="下に配置")
button.pack(side="bottom")
grid() の例
label1 = tk.Label(root, text="名前")
label1.grid(row=0, column=0)
entry1 = tk.Entry(root)
entry1.grid(row=0, column=1)
label2 = tk.Label(root, text="パスワード")
label2.grid(row=1, column=0)
entry2 = tk.Entry(root, show="*")
entry2.grid(row=1, column=1)
place() の例
label = tk.Label(root, text="左上(10,20)に表示")
label.place(x=10, y=20)
ポイント
- Tkinterには多数の部品(ウィジェット)があり、GUIアプリの様々な機能を作れる
- 配置方法は主にpack, grid, placeの3種類
- 目的や画面レイアウトに応じて適切な方法を選ぶのがポイント!
まとめ
Tkinterを使えば、Pythonだけで簡単にデスクトップアプリが作れます。
気軽にいろいろ組み合わせて、オリジナルのGUIアプリを作ってみてください。