ในบทความนี้ เราจะดูวิธีสร้างแอปพลิเคชัน GUI ที่คำนวณความเร็วเฉลี่ย ความเร็วเฉลี่ยของวัตถุที่เคลื่อนที่สามารถคำนวณได้จากสูตร:
Average Speed = Distance / [Hours + (Minutes/60)]
เพื่อเลือกค่า Input เราจะใช้เมธอด SpinBox ซึ่งสร้าง Spinner สำหรับช่วงค่า ค่าเหล่านี้คือ Distance (กิโลเมตร) Hours และ Minutes
ตัวอย่าง
from tkinter import *
# Create an instance of tkinter frame
win = Tk()
# Set the geometry and resize the frame
win.geometry("700x400")
win.resizable(0, 0)
win.title("Average Speed Calculator")
# Create Label for Main Window
Label(win, text="Average Speed Calculator", font=("Times New Roman", 18, "bold"), fg="black").pack()
# Calculate Average Speed
def average_cal():
# hrs
hrs = int(hours.get())
# minutes
mins = int(minutes.get())
# distance
dist = int(distance.get())
# Formula Used
avg = dist / (hrs + (mins / 60))
# Change the text of label using config method
average_speed.config(text=f"{avg} Km/Hr")
# Create Multiple Frames
frame = Frame(win)
frame.pack()
frame1 = Frame(win)
frame1.pack()
frame2 = Frame(win)
frame2.pack()
# Create Labels and Spin Boxes
Label(frame, text="Hours", width=15, font=("Times New Roman", 12, "bold"), borderwidth=2, relief="solid").pack(side=LEFT, padx=10, pady=10)
hours = Spinbox(frame, from_=0, to=1000000, width=5, font=("Times New Roman", 12, "bold"))
hours.pack(side=LEFT, pady=10)
Label(frame1, text="Minutes", width=15, font=("Times New Roman", 12, "bold"), borderwidth=2, relief="solid").pack(side=LEFT, padx=10, pady=10)
minutes = Spinbox(frame1, from_=0, to=10000000, width=5, font=("Times New Roman", 12, "bold"))
minutes.pack(side=LEFT, pady=10)
Label(frame2, text="Distance in(Km)", width=15, font=("Times New Roman", 12, "bold"), borderwidth=2, relief="solid").pack(side=LEFT, padx=10, pady=10)
distance = Spinbox(frame2, from_=0, to=1000000, width=5, font=("Times New Roman", 12, "bold"))
distance.pack(side=LEFT, pady=10)
Button(win, text="Average Speed is:", width=15, font=("Times New Roman", 12, "bold"), command=average_cal, fg="white", bg="black").pack(pady=20)
average_speed = Label(win, text="", width=50, font=("Times New Roman", 12, "bold"), relief="solid")
average_speed.pack()
# Execute Tkinter
win.mainloop()
ผลลัพธ์
การรันโค้ดข้างต้นจะสร้างและแสดง Average Calculator
