Standard GUI Unit Converter using Tkinter in Python

Standard GUI Unit Converter using Tkinter in Python

Creating a standard GUI-based unit converter using Tkinter in Python can be a fun exercise. For the sake of this demonstration, let's build a simple length converter that can convert between meters, kilometers, and miles.

  • Initial Setup:
pip install tkinter 
  • Python Script:
import tkinter as tk from tkinter import ttk def convert_units(): value = float(entry.get()) if from_unit.get() == "Meters": if to_unit.get() == "Kilometers": result.set(value / 1000) elif to_unit.get() == "Miles": result.set(value * 0.000621371) else: result.set(value) elif from_unit.get() == "Kilometers": if to_unit.get() == "Meters": result.set(value * 1000) elif to_unit.get() == "Miles": result.set(value * 0.621371) else: result.set(value) elif from_unit.get() == "Miles": if to_unit.get() == "Meters": result.set(value / 0.000621371) elif to_unit.get() == "Kilometers": result.set(value / 0.621371) else: result.set(value) # Create main window window = tk.Tk() window.title("Unit Converter") # Variables from_unit = ttk.Combobox(window, values=["Meters", "Kilometers", "Miles"], state="readonly") to_unit = ttk.Combobox(window, values=["Meters", "Kilometers", "Miles"], state="readonly") result = tk.StringVar() # Default values from_unit.set("Meters") to_unit.set("Kilometers") # Widgets label1 = ttk.Label(window, text="From:") label2 = ttk.Label(window, text="To:") entry = ttk.Entry(window) label3 = ttk.Label(window, textvariable=result) convert_button = ttk.Button(window, text="Convert", command=convert_units) # Position widgets label1.grid(row=0, column=0, padx=5, pady=5) from_unit.grid(row=0, column=1, padx=5, pady=5) entry.grid(row=0, column=2, padx=5, pady=5) label2.grid(row=1, column=0, padx=5, pady=5) to_unit.grid(row=1, column=1, padx=5, pady=5) label3.grid(row=1, column=2, padx=5, pady=5) convert_button.grid(row=2, column=0, columnspan=3, pady=10) # Start main loop window.mainloop() 

In the above code:

  • We've created a simple window with two comboboxes to select "from" and "to" units.
  • The user can enter the value to be converted in the entry widget.
  • The result is displayed next to the "to" combobox after pressing the "Convert" button.

You can further enhance this program by:

  • Adding more units to convert between.
  • Improving the layout and design.
  • Handling invalid input or errors gracefully.
  • Using external libraries to handle more complex conversions.

More Tags

find-occurrences pyqt4 icons legend-properties asp.net-core-mvc-2.1 email-ext karma-jasmine readfile genson ios8-share-extension

More Programming Guides

Other Guides

More Programming Examples