
Python で、デスクトップアプリの開発
①デスクトップアプリ開発とは?
デスクトップアプリケーションは、ユーザーがPCで直接操作するアプリケーションのことです。
Python では、以下のようなGUI(Graphical User Interface)ライブラリを使用して開発できます。
・Tkinter(標準ライブラリで簡単)
・PyQt / PySide(高度なデザインが可能)
・Kivy(マルチプラットフォーム対応)
今回は、Python 標準ライブラリである Tkinter を使って、簡単なアプリケーションを作成します。
Pythonでつくるデスクトップアプリ ↓
②必要な準備
❶Python のインストール
1. Python公式サイトから最新版のPythonをダウンロードし、インストールします。
2. インストール時に「PATHを追加する」オプションを必ず選択してください。
❷Tkinter の確認
Tkinter は通常、Python に標準で付属していますが、確認するには次のコマンドを実行してください。
python -m tkinter
ウィンドウが表示されれば、Tkinterが正しく動作しています。
Pythonでデスクトップアプリを作ろう ↓
③基本の Tkinter アプリケーション作成
以下は、「Hello, World!」を表示するシンプルなアプリケーションの例です。
❶基本コード
import tkinter as tk
# ウィンドウの作成
root = tk.Tk()
root.title("My First App") # ウィンドウタイトル
root.geometry("300x200") # ウィンドウサイズ
# ラベルの作成
label = tk.Label(root, text="Hello, World!")
label.pack(pady=20)
# メインループ
root.mainloop()
❷解説
1. tk.Tk()
アプリケーションのメインウィンドウを作成します。
2. root.title()
ウィンドウのタイトルを設定します。
3. root.geometry()
ウィンドウのサイズを設定します。(幅 x 高さ)
4. tk.Label()
テキストを表示するラベルを作成します。
5. label.pack()
ラベルを画面に配置します。
6. root.mainloop()
アプリケーションを起動し、ウィンドウを表示します。
Pythonではじめるデスクトップアプリ開発入門 ↓
④応用例【簡単な電卓アプリ】
次に、ボタンを使った簡単な電卓アプリを作ります。
❶コード例
import tkinter as tk
def calculate():
try:
result = eval(entry.get()) # 入力された式を計算
label_result.config(text=f"結果: {result}")
except Exception as e:
label_result.config(text="エラー")
# ウィンドウの作成
root = tk.Tk()
root.title("簡単電卓")
root.geometry("300x200")
# 入力フィールド
entry = tk.Entry(root, width=20)
entry.pack(pady=10)
# 計算ボタン
button = tk.Button(root, text="計算", command=calculate)
button.pack(pady=5)
# 結果表示ラベル
label_result = tk.Label(root, text="結果:")
label_result.pack(pady=10)
# メインループ
root.mainloop()
❷ポイント
1. eval() の使用
eval() は文字列として入力された計算式を評価する関数です。
ただし、悪意のあるコードの実行リスクがあるため、実運用では入力の検証を追加してください。
2. イベント駆動型プログラミング
ボタンを押したときに calculate 関数を実行することで、イベント駆動型の動作を実現しています。
Python2年生 デスクトップアプリ開発のしくみ 体験してわかる!会話でまなべる! ↓
⑤開発時の注意点
1. レイアウト管理
pack()
簡単なウィジェット配置に使用
grid()
表形式で配置可能
place()
座標を指定して配置
レイアウトが複雑な場合は、grid() の使用をおすすめします。
2. コードの分離
アプリが複雑になる場合、以下のようにコードを分割して管理します。
・GUI 部分とロジック部分を分ける。
・クラスを使用して再利用性を高める。
3. エラーハンドリング
ユーザー入力に対するエラーチェックを忘れずに実装しましょう。
基礎の文法が終わったその次に/Python標準のTkinterを使って作成/CustomTkinterで少しおしゃれに/Web APIで天気情報を取得 はじめてつくるシリーズ (温泉マーク2000) ↓
⑥応用【ファイル選択ダイアログ付きアプリ】
ファイルを選択する機能を持つアプリを以下に示します。
❶コード例
import tkinter as tk
from tkinter import filedialog
def open_file():
file_path = filedialog.askopenfilename()
if file_path:
label.config(text=f"選択されたファイル: {file_path}")
# ウィンドウ作成
root = tk.Tk()
root.title("ファイル選択アプリ")
root.geometry("400x150")
# ボタンとラベル
button = tk.Button(root, text="ファイルを開く", command=open_file)
button.pack(pady=10)
label = tk.Label(root, text="ファイルが選択されていません")
label.pack(pady=10)
# メインループ
root.mainloop()
Pythonのクロスプラットフォームデスクトップアプリ開発の裏技~PyQtとTkinterを駆使してマルチOS対応アプリケーションを作成する~ ↓
⑦まとめ
Pythonを使ったデスクトップアプリ開発は、初心者でも簡単に始められます。
ポイント
・小さなプロジェクトから始め、慣れてきたら機能を追加していく。
・Tkinter の基本をマスターしたら、PyQt や Kivy に挑戦してみる。
統計
さらに学ぶ際は、公式ドキュメントやサンプルコードを参考にしてください。