はじめに
このプロジェクトでは、Python と tkinter ライブラリを使って基本的な GUI 電卓を作成する方法を案内します。この電卓は、足し算、引き算、掛け算、割り算などの単純な算術演算を行うことができます。
👀 プレビュー

🎯 タスク
このプロジェクトでは、以下のことを学びます。
- 電卓用のメイン tkinter ウィンドウを設定する方法
- 算術演算を行うための計算関数を追加する方法
- ユーザーが数字を入力して結果を表示するためのエントリーフィールドを作成する方法
- 数字、算術演算、クリア機能用のボタンを追加する方法
- tkinter イベントループを実行して電卓を起動する方法
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- tkinter ライブラリを使ってグラフィカルユーザーインターフェイスを作成する
- ボタンに関数をバインドしてインタラクティビティを有効にする
- Python で基本的な算術演算を行う
- エントリーフィールドを使って結果を表示して更新する
プロジェクトファイルを作成する
まず、labex_calculator.py という名前の新しい Python ファイルを作成します。このファイルには、電卓のコードを保存します。ファイルを作成するには、オペレーティングシステムのターミナルまたは GUI インターフェイスを使用できます。
## 新しいPythonファイルを作成する
cd ~/project
touch labex_calculator.py
メインの Tkinter ウィンドウをセットアップする
電卓を構築し始めるには、エディタで labex_calculator.py ファイルを開きます。電卓の GUI(グラフィカルユーザーインターフェイス)を作成する最初のステップは、メインウィンドウを作成することです。これは tkinter ライブラリを使って行います。
## tkinter ライブラリをインポートする
import tkinter as tk
## メインの tkinter ウィンドウ/トップレベルを作成する
root = tk.Tk()
root.title('LabEx Calculator') ## 電卓のタイトルを設定する
root.geometry('400x600') ## 電卓のサイズを設定する
root.configure(background='light blue') ## 電卓の背景色を設定する
計算関数を追加する
電卓に算術演算を行わせるには、calculate という関数を定義します。
def calculate(event):
text = event.widget.cget('text') ## ボタンからのテキストを取得する
if text == '=':
try:
result = str(eval(entry.get())) ## 結果を計算する
entry.set(result) ## エントリーを結果に設定する
except Exception as e:
entry.set('Error') ## エラーの場合、エントリーを'Error'に設定する
return
if text == 'C':
entry.set('') ## 'C'が押された場合、エントリーをクリアする
return
entry.set(entry.get() + text) ## 押されたボタンのテキストをエントリーに追加する
入力フィールドを作成する
ユーザーが数字を入力し、計算結果を表示するためのエントリーフィールドを作成します。
entry = tk.StringVar()
entry.set('') ## 初期エントリーを空文字列に設定する
entry1 = tk.Entry(root, textvar=entry, font='lucida 30 bold', bd=5, insertwidth=4, bg='powder blue', justify='right') ## エントリーフィールドを作成する
entry1.pack(fill=tk.X, ipadx=8, pady=10, padx=10) ## エントリーフィールドの配置を設定する
ボタンを追加する
次に、電卓に数字、算術演算、クリア機能のボタンを追加します。
button_frame = tk.Frame(root) ## ボタン用のフレームを作成する
button_frame.pack() ## フレームを tkinter ウィンドウに追加する
## ボタンのテキストのリスト
button_list = [
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'.', '0', '=', '+',
'00', '000', 'C'
]
## ボタンを作成して配置する
i = 0
for btn_text in button_list:
button = tk.Button(button_frame, text=btn_text, font='lucida 20 bold', bg='skyblue', padx=15, width=5)
button.grid(row=int(i/4), column=i%4, padx=3, pady=3)
i += 1
button.bind('<Button-1>', calculate) ## 'calculate'関数をボタンにバインドする
プロジェクトを実行する
最後に、tkinter のイベントループを実行して電卓を起動しましょう。
root.mainloop()
デスクトップに切り替えてプロジェクトを実行します。
python labex_calculator.py

まとめ
おめでとうございます!これで Python と tkinter ライブラリを使って基本的な GUI 電卓を作成することができました。labex_calculator.py スクリプトを実行することで電卓を起動することができます。このプロジェクトでは、tkinter ウィンドウの作成、計算関数の追加、電卓用のエントリーフィールドの作成、算術演算を行うボタンの追加、そして電卓の実行について学びました。



