ساخت مبدل دما با پایتون و Tkinter

در این آموزش، یک برنامه مبدل دما با زبان برنامه نویسی پایتون ایجاد خواهید کرد که به کاربر کمک می کند تا درجه حرارت را به درجه فارنهایت وارد کند و آن دما را به درجه سانتیگراد تبدیل کند. مراحل و توابع برنامه را برای شما شرح خواهیم داد تا خودتان بتوانید برنامه را بیشتر توسعه دهید.

 

نکاتی که نیاز دارید برای این برنامه بدانید:

۱-تسلط متوسط بر زبان برنامه نویسی  پایتون

۲-کار با توابع در پایتون

۳-آشنایی با Tkinter

 

نوشتن برنامه به زبان پایتون

 

ابتدا Tkinter را import و نام آن را تعیین می کنیم

import tkinter as tk

window = tk.Tk()
window.title("Temperature Converter")

تعریف باکس ورودی برای گرفتن اطلاعات از کاربر

frm_entry = tk.Frame(master=window)
ent_temperature = tk.Entry(master=frm_entry, width=۱۰)
lbl_temp = tk.Label(master=frm_entry, text="\N{DEGREE FAHRENHEIT}")

انتخاب مکان مناسب برای باکس ورودی

ent_temperature.grid(row=۰, column=۰, sticky="e")
lbl_temp.grid(row=۰, column=۱, sticky="w")

تعریف دکمه ای برای تایید اطلاعات توسط کاربر و جاگذاری آن

btn_convert = tk.Button(
    master=window,
    text="\N{RIGHTWARDS BLACK ARROW}"
)
lbl_result = tk.Label(master=window, text="\N{DEGREE CELSIUS}")
frm_entry.grid(row=۰, column=۰, padx=۱۰)
btn_convert.grid(row=۰, column=۱, pady=۱۰)
lbl_result.grid(row=۰, column=۲, padx=۱۰)

در این قسمت تابعی را تعریف می کنیم که کار تبدیل درجه فارانهایت را به درجه سیلیوس انجام دهد

def fahrenheit_to_celsius():
    """Convert the value for Fahrenheit to Celsius and insert the
    result into lbl_result.
    """
    fahrenheit = ent_temperature.get()
    celsius = (۵/۹) * (float(fahrenheit) - ۳۲)
    lbl_result["text"] = f"{round(celsius, ۲)} \N{DEGREE CELSIUS}"

تابع را به دستور کلید convert اضافه می کنیم

btn_convert = tk.Button(
    master=window,
    text="\N{RIGHTWARDS BLACK ARROW}",
    command=fahrenheit_to_celsius  # <--- Add this line
)

همانطور که در ابتدا گفته شد این برنامه تنها جهت آشنایی شما با پایتون و Tkinter است و سعی کنید با توجه به خلاقیت خود تغییرات مورد نظرتان را در این برنامه ایجاد کنید

 

کد کامل برنامه

Code:

import tkinter as tk

def fahrenheit_to_celsius():
    """Convert the value for Fahrenheit to Celsius and insert the
    result into lbl_result.
    """
    fahrenheit = ent_temperature.get()
    celsius = (۵/۹) * (float(fahrenheit) - ۳۲)
    lbl_result["text"] = f"{round(celsius, ۲)} \N{DEGREE CELSIUS}"

# Set-up the window
window = tk.Tk()
window.title("Temperature Converter")
window.resizable(width=False, height=False)

# Create the Fahrenheit entry frame with an Entry
# widget and label in it
frm_entry = tk.Frame(master=window)
ent_temperature = tk.Entry(master=frm_entry, width=۱۰)
lbl_temp = tk.Label(master=frm_entry, text="\N{DEGREE FAHRENHEIT}")

# Layout the temperature Entry and Label in frm_entry
# using the .grid() geometry manager
ent_temperature.grid(row=۰, column=۰, sticky="e")
lbl_temp.grid(row=۰, column=۱, sticky="w")

# Create the conversion Button and result display Label
btn_convert = tk.Button(
    master=window,
    text="\N{RIGHTWARDS BLACK ARROW}",
    command=fahrenheit_to_celsius
)
lbl_result = tk.Label(master=window, text="\N{DEGREE CELSIUS}")

# Set-up the layout using the .grid() geometry manager
frm_entry.grid(row=۰, column=۰, padx=۱۰)
btn_convert.grid(row=۰, column=۱, pady=۱۰)
lbl_result.grid(row=۰, column=۲, padx=۱۰)

# Run the application
window.mainloop()

 


در ادامه می توانید مطالعه کنید

 



 

محمد صداقتی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *