この記事は、JavaとPythonを基礎から学びたい私のための Advent Calendar 2024の19日目の記事です。
簡単なデスクトップアプリを作る
昨日までで簡単な使い方を学んだので、実際に使えるアプリを作ります。
何を作るか
占いを作りました。名前を入力すると結果が出るタイプの、あれです。
完成した全文がこちら⇩
import tkinter as tk
import random as rd
window=tk.Tk()
window.geometry("400x300")
window.title("占いアプリ")
title=tk.Label(text='占いメーカー',font=("",30))
title.pack(pady=25)
label=tk.Label(text='名前を入力してね')
label.pack(pady=15)
txt=tk.Entry(window)
txt.pack(pady=25)
def ClickEvent():
inputtxt=txt.get()
txt.destroy()
button.destroy()
label.destroy()
result1=tk.Label(text=inputtxt+'さんの結果')
result1.pack(pady=15)
result2=tk.Label(text='健康運:'+str(rd.randint(1,10))+' やる気:'+str(rd.randint(1,10))+' 運命の出会い:'+str(rd.randint(1,10))+'\n各項目は1から10の間で出てきます。')
result2.pack(pady=25)
button=tk.Button(text='占う',command=ClickEvent)
button.pack(pady=6)
window.mainloop()
解説
仕組みとしては、①テキスト、ボタン、Entry(文字が1行入力できるやつ)を付けて、②ボタンが押されると①の要素を消して結果を出すといった流れです。
学んだこと
destroy()
文字通り、要素を消すことができます。今回はボタンやEntryを消すために使用しました
txt.destroy()
button.destroy()
label.destroy()
こんな感じで消すことができます。
random
おそらくpythonで初めてランダムを使いました。最初にimport random as rdでインポートしてから使います。
randintとか言っているのでintの整数が出てくるわけですが、小数の場合そうではないようです。randomと書くと0から1まで、uniformと書いて()で範囲を指定すると指定した範囲内の数字を返してくれるそうです
import random as rd
print(rd.randint(1,10))
print(rd.uniform(1,10))
まとめ
destroyを用いることで、ボタンやテキストなどを簡単に消せる。
randomはC#などほかの言語と同じような使い方で行ける。
tkinterを使うことで、python初心者でも簡単なアプリは作ることができる。
参考文献