【初心者向け】TkinterでGUIアプリをつくろう!Pythonで簡単に始める方法


こんにちは。ゆうせいです。
今回は、Pythonでグラフィカルなアプリケーションを作るためのツール「Tkinter(ティーキンター)」について、まったくの初心者でも理解できるように丁寧に解説していきます。


Tkinterってなに?

H3: GUIとは?

そもそも「GUI(ジーユーアイ)」という言葉を聞いたことはありますか?
これは Graphical User Interface(グラフィカル・ユーザー・インターフェース) の略です。

簡単に言うと、「画面を見ながらボタンをクリックしたり、テキストを入力したりできる、視覚的な操作画面」のことです。
WindowsやmacOSのアプリは、すべてGUIアプリケーションです。

たとえば、Pythonで作ったツールを誰かに使ってもらいたいとき、コマンドライン(黒い画面)では使いづらいですよね?
GUIをつければ、ボタン一つで操作が可能になります!


H3: Tkinterとは?

Tkinterは、Pythonに標準でついてくるGUIライブラリです。
追加でインストールする必要はなく、すぐに使い始められます。

Tkinterを使うと、以下のようなものを作れます:

  • ボタンやラベルのついたウィンドウ
  • ユーザーからの入力を受け取るフォーム
  • 画像を表示するアプリ
  • シンプルなゲーム

つまり、初心者でも**「アプリっぽいもの」**が作れるようになるんです!


実際にコードを書いてみよう!

まずは、簡単なウィンドウを表示するコードを見てみましょう。

import tkinter as tk

root = tk.Tk()  # ウィンドウを作成
root.title("はじめてのTkinter")
root.geometry("300x200")  # 幅300px, 高さ200px

label = tk.Label(root, text="こんにちは!")  # ラベル(文字)を作成
label.pack()  # 配置

root.mainloop()  # ウィンドウを表示し続ける

このコードを実行すると、小さなウィンドウが開いて「こんにちは!」と表示されます。


各部の解説

コード意味
import tkinter as tkTkinterモジュールをtkという名前で読み込み
tk.Tk()ウィンドウを作る
title()ウィンドウのタイトルを設定
geometry()ウィンドウのサイズを設定(幅x高さ)
Label()ラベル(テキスト)ウィジェットを作成
pack()ウィジェットをウィンドウに配置
mainloop()ウィンドウを表示し、ユーザーの操作を待ち続けるループ

ウィジェットってなに?

Tkinterでは、画面に表示される部品のことを「ウィジェット(Widget)」と呼びます。

たとえば:

ウィジェット名説明
Label文字を表示する「こんにちは!」などのテキスト
Buttonボタンを作る「送信」「リセット」など
Entry一行の入力欄名前やメールアドレスの入力欄など
Text複数行の入力欄コメント欄やメモ帳

よくある質問:なぜTkinterを学ぶの?

H4: メリット

  • PythonだけでGUIが作れる
  • 追加のライブラリが不要
  • 学習コストが低く、初学者にやさしい
  • 小規模なツールや社内アプリにも十分対応できる

H4: デメリット

  • 見た目のカスタマイズはやや苦手
  • 大規模アプリには向いていない
  • スマホアプリは作れない

とはいえ、「ちょっとしたツールを作りたい」「PythonにGUIをつけたい」と考えているなら、Tkinterはベストな選択肢のひとつです!


グラフで整理!Tkinterと他のGUIツールの比較

ライブラリ難易度見た目のカスタマイズスマホ対応備考
Tkinterやさしいそこそこ不可標準搭載、初心者向け
PyQt難しい高度に可能不可商用利用にライセンス注意が必要
Kivy中くらい高度に可能可能スマホアプリも作れる

数式や図形も描ける!

Tkinterには「Canvas(キャンバス)」というウィジェットがあり、図形や線、画像を描くことができます。

例:丸を描く

canvas = tk.Canvas(root, width=200, height=200)
canvas.pack()
canvas.create_oval(50, 50, 150, 150, fill="blue")

このコードを実行すると、青い丸が表示されます。


今後の学習ステップ

  1. いろいろなウィジェットを試してみる
    • Button、Entry、Textなど、使ってみて感覚をつかもう!
  2. イベント処理を学ぶ
    • 「ボタンを押したときに処理を実行」など、インタラクティブな動きが作れます。
  3. クラスを使って整理する
    • 複雑なアプリはオブジェクト指向で作った方が読みやすくなります。
  4. データの保存や読み込みもやってみよう
    • ファイル操作やデータベースと連携すると、さらに実用的になります。

次回は「イベント処理」について、実際にボタンを押したら何かが起きるアプリを作っていきますね。
わからない部分があったら、何度でも読み返して、手を動かしてみてください。
学びは反復が命です!コツコツ積み重ねていきましょう。

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。