Pythonは、初心者にも扱いやすいプログラミング言語として人気がありますが、GUI(グラフィカルユーザーインターフェース)を使った入力フォームも意外と簡単に作成できます。
この記事では、Pythonで入力フォームを作る方法を、GUIライブラリ「Tkinter」を使って初心者向けにわかりやすく解説します。
本記事で学べること
- Pythonで入力フォームを作る基本手順
- Tkinterの使い方
- 入力値の取得方法
- ボタンとイベント処理の実装方法
日本では現在、ITエンジニアの人材不足が深刻化しており、
それに伴いエンジニアの需要が急速に高まっています。
プログラミングスキルを身につけることで、以下のような多くのメリットが得られます。
✅ 転職市場での競争力が向上し、収入アップのチャンスが広がる
✅ 副業として活用でき、収入源を増やせる
✅ プログラマーに限らず、IT時代を生き抜く武器になる
もし少しでも興味があるなら、まずはプログラミングスクールの無料体験を試してみるのがおすすめです。
なぜGUIフォームが必要なのか?
Pythonのinput()
関数を使えば、コンソールでの入力はできますが、GUIフォームを使えばより視覚的で直感的な操作が可能になります。
特に業務用ツールや初心者向けアプリでは、GUIのほうが断然使いやすいのです。
Tkinterとは?
Tkinterは、Python標準ライブラリに含まれているGUIツールキットで、追加インストール不要で使えます。
主な特徴
- 標準で使える(外部ライブラリ不要)
- シンプルな構文
- 軽量で高速な動作
入力フォームを作る基本ステップ
以下のコードで、名前とメールアドレスを入力するシンプルなフォームを作ってみましょう。
サンプルコード
import tkinter as tk
from tkinter import messagebox
def submit():
name = entry_name.get()
email = entry_email.get()
messagebox.showinfo("入力内容", f"名前: {name}\nメール: {email}")
# ウィンドウ作成
root = tk.Tk()
root.title("入力フォーム")
# ラベルと入力欄
tk.Label(root, text="名前").grid(row=0, column=0, padx=10, pady=5)
entry_name = tk.Entry(root)
entry_name.grid(row=0, column=1, padx=10, pady=5)
tk.Label(root, text="メール").grid(row=1, column=0, padx=10, pady=5)
entry_email = tk.Entry(root)
entry_email.grid(row=1, column=1, padx=10, pady=5)
# 送信ボタン
tk.Button(root, text="送信", command=submit).grid(row=2, column=0, columnspan=2, pady=10)
root.mainloop()

※メールを送れるわけではありませんのでご了承下さい。
コードのポイント解説
tk.Tk()
:アプリウィンドウの生成tk.Label()
:テキスト表示用のラベルtk.Entry()
:入力欄tk.Button()
:ボタンの作成と関数の紐づけmessagebox.showinfo()
:入力値をポップアップで表示
実践テクニック:バリデーション(入力チェック)
フォームの精度を高めるには、入力チェックが重要です。
例:空欄チェックを追加
def submit():
name = entry_name.get()
email = entry_email.get()
if not name or not email:
messagebox.showwarning("エラー", "すべての項目を入力してください。")
return
messagebox.showinfo("入力内容", f"名前: {name}\nメール: {email}")
応用編:入力内容をファイルに保存する
def submit():
name = entry_name.get()
email = entry_email.get()
if not name or not email:
messagebox.showwarning("エラー", "すべての項目を入力してください。")
return
with open("form_data.txt", "a", encoding="utf-8") as f:
f.write(f"{name},{email}\n")
messagebox.showinfo("完了", "データを保存しました。")
まとめ|PythonのGUI入力フォームは初心者にも簡単
PythonとTkinterを使えば、初心者でも簡単に使える入力フォームを作ることができます。
業務アプリ、趣味のツール、学習教材など幅広い場面で活用できるスキルなので、ぜひチャレンジしてみてください。
コメント