
Python初心者がTkinterを使って、BMI判定ツールを作ってみました。これからTkinterを使って、GUIを開発していくまでの勉強過程を記していこうかなと思います。
Tkinterは、Python標準のライブラリであり、GUIを構築できます。Pythonを勉強していて気になったので、使い方を徐々に学びながら触っていこうかなと思います。
参考 : https://news.mynavi.jp/article/zeropython-46/
以下がコードになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# Tkinterのライブラリを取り込む --- (*1) import tkinter as tk from tkinter import messagebox as mbox # ウィンドウを作成 --- (*2) win = tk.Tk() win.title("BMI") # タイトル win.geometry("300x300") # サイズ # 名前を作成 # ラベルを作成 labelName = tk.Label(win, text='名前は?') # packで作成した部品をウィンドウ上に配置できる labelName.pack() # テキスト入力ボックスを作成 textName = tk.Entry(win) textName.pack() # insertで初期値を指定できる textName.insert(tk.END, '田中') # 身長を作成 # 名前と同じ流れで作成 labelHeight = tk.Label(win, text="身長は?") labelHeight.pack() textHeight = tk.Entry(win) textHeight.pack() textHeight.insert(tk.END, 'cm単位で記入') # 体重を作成 # 名前と同じ流れで作成 labelWeight = tk.Label(win, text="体重は?") labelWeight.pack() textWeight = tk.Entry(win) textWeight.pack() textWeight.insert(tk.END, 'Kg単位で記入') # OKボタンを押した時 --- (*3) # 変数okButtonの引数であるcommandを関数名として記述し、その後の処理を書く def ok_click(): # テキストボックスの内容を得る name = textName.get() # ダイアログを表示 # mbox.showinfo('挨拶', name + 'さん、こんにちは!') height = float(textHeight.get())/100 weight = float(textWeight.get()) BMI = weight/(height*height) # ダイアログを表示 mbox.showinfo("BMI", "貴方のBMIは"+str(BMI)) # ボタンを作成 --- (*4) okButton = tk.Button(win, text='OK', command=ok_click) okButton.pack() # ウィンドウを動かす --- (*3) win.mainloop() |
上記のコードを実行すると、初期値が入ったウィンドウが出てくる↓
身長と体重を入れる↓
BMIが計算される↓
勉強がてら、これにもっと付加価値をつけていきたいなと思います。
→これだとショボすぎる。。。。
例えば、年齢とか、肥満度とか、これからの肥満度曲線とか??余命とか??
やれるところまで少しずつやっていきます。以上、Tkinterを使用したGUI開発勉強1日目でした。
コメント