0
0
PythonHow-ToBeginner · 4 min read

How to Use Tkinter in Python: Simple GUI Programming

To use tkinter in Python, first import it with import tkinter as tk. Then create a main window using tk.Tk(), add widgets like buttons or labels, and start the GUI event loop with mainloop().
📐

Syntax

The basic syntax to create a Tkinter window involves these steps:

  • Import tkinter: Use import tkinter as tk to access Tkinter functions.
  • Create main window: Use root = tk.Tk() to make the main application window.
  • Add widgets: Create buttons, labels, or other elements as children of the main window.
  • Start event loop: Call root.mainloop() to keep the window open and responsive.
python
import tkinter as tk

root = tk.Tk()  # Create main window
root.title('My Tkinter App')  # Set window title

label = tk.Label(root, text='Hello, Tkinter!')  # Create a label widget
label.pack()  # Add label to window

root.mainloop()  # Start the GUI event loop
💻

Example

This example creates a simple window with a label and a button. Clicking the button changes the label text.

python
import tkinter as tk

# Create main window
root = tk.Tk()
root.title('Simple Tkinter Example')
root.geometry('300x150')

# Create a label
label = tk.Label(root, text='Welcome!')
label.pack(pady=10)

# Define button click function
def on_button_click():
    label.config(text='Button clicked!')

# Create a button
button = tk.Button(root, text='Click Me', command=on_button_click)
button.pack(pady=10)

# Start the GUI event loop
root.mainloop()
Output
A window appears with a label saying 'Welcome!' and a button labeled 'Click Me'. Clicking the button changes the label text to 'Button clicked!'.
⚠️

Common Pitfalls

Some common mistakes when using Tkinter include:

  • Not calling mainloop(), so the window closes immediately.
  • Forgetting to pack or grid widgets, so they don't appear.
  • Modifying widgets from outside the main thread, causing errors.
  • Using multiple Tk() instances instead of Toplevel() for additional windows.
python
import tkinter as tk

# Wrong: forgetting to call mainloop
root = tk.Tk()
label = tk.Label(root, text='Hello')
label.pack()
# root.mainloop()  # Missing this line means window won't show

# Right way:
root = tk.Tk()
label = tk.Label(root, text='Hello')
label.pack()
root.mainloop()
📊

Quick Reference

Tkinter FunctionPurpose
tk.Tk()Create main application window
widget.pack()Add widget to window with default layout
widget.grid()Add widget to window with grid layout
widget.config()Change widget properties like text or color
root.mainloop()Start the GUI event loop to keep window open
tk.Button()Create a clickable button widget
tk.Label()Create a text or image display widget

Key Takeaways

Always import tkinter with 'import tkinter as tk' to use its features.
Create a main window with 'tk.Tk()' and start the GUI with 'mainloop()'.
Add widgets like labels and buttons, then use 'pack()' or 'grid()' to display them.
Never forget to call 'mainloop()' or your window will close immediately.
Use functions to handle button clicks and update the GUI dynamically.