Tkinter GUI Python: Built-in GUI Toolkit

Online Python Trainer for Beginners

Learn Python easily without overwhelming theory. Solve practical tasks with automatic checking, get hints in Russian, and write code directly in your browser — no installation required.

Start Course

The Complete Guide to Tkinter – Python's GUI Library

Tkinter (short for Tk interface) is the standard library for creating graphical user interfaces (GUIs) in Python. Its name comes from Tk, a cross-platform GUI toolkit originally developed for the Tcl language. Tkinter serves as Python's binding to Tk and has been included in the standard Python distribution since version 3.1, making it the most accessible tool for building desktop applications.

The library supports all major operating systems—Windows, Linux, and macOS—ensuring your applications run cross-platform. With its easy learning curve and minimal dependencies, Tkinter is an excellent choice for beginners, educational projects, and small desktop applications.

History and Architecture of Tkinter

Tkinter was created in the early 1990s as a Python wrapper for the Tk GUI toolkit. Tk itself was developed by John Ousterhout at the University of California, Berkeley. Over more than 30 years, the library has evolved significantly while maintaining its philosophy of simplicity and reliability.

Tkinter's architecture is based on event-driven programming. The core element is the main event loop, which waits for user actions and responds by calling the appropriate handler functions.

Installation and First Steps

Checking if Tkinter is Installed

Tkinter is part of Python's standard library and usually requires no separate installation. To verify it's available, run:

python -c "import tkinter; print('Tkinter is available')"

Installation on Different Operating Systems

Windows: Tkinter is installed automatically with Python.

macOS: Included in the standard Python distribution.

Linux (Ubuntu/Debian):

sudo apt-get install python3-tk

Linux (CentOS/RHEL):

sudo yum install tkinter
# or for newer versions
sudo dnf install python3-tkinter

Creating Your First Application

import tkinter as tk

# Create the main window
window = tk.Tk()
window.title("My First App")
window.geometry("400x300")
window.resizable(True, True)

# Start the main event loop
window.mainloop()

Core Tkinter Components

The Root Window

The root window is the top-level element of any Tkinter application. All other widgets must be placed inside it or in its child windows.

import tkinter as tk

root = tk.Tk()
root.title("Window Title")
root.geometry("800x600+100+50")  # width x height + x_offset + y_offset
root.minsize(300, 200)  # minimum size
root.maxsize(1200, 800)  # maximum size
root.configure(bg='lightblue')  # background color

Essential Widgets and Their Uses

Label

Labels display text or images that users cannot edit.

label = tk.Label(
    window, 
    text="Informational Label",
    font=("Arial", 14),
    fg="blue",
    bg="white",
    anchor="center"
)
label.pack(pady=10)

Button

Buttons are interactive elements for triggering actions.

def button_click():
    print("Button clicked!")

button = tk.Button(
    window,
    text="Click Me",
    command=button_click,
    font=("Arial", 12),
    bg="green",
    fg="white",
    width=15,
    height=2
)
button.pack(pady=5)

Entry

Entry widgets allow users to input single-line text.

Recommendations