GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • locale — Internationalization services
  • tkinter — Python interface to Tcl/Tk
  • Report a bug
  • Improve this page
  • Show source
  • index
  • modules
  • Python
  • 3.16.0a2 documentation
  • The Python standard library
  • Graphical user interfaces with Tk

This view

  • Original page
  • New address

GeezerVison is showing docs.python.org — Graphical user interfaces with Tk

Graphical user interfaces with Tk¶

Tk/Tcl has long been an integral part of Python. It provides a robust and platform independent windowing toolkit, that is available to Python programmers using the tkinter package, and its extension, the tkinter.ttk module.

The tkinter package is a thin object-oriented layer on top of Tcl/Tk. To use tkinter, you don’t need to write Tcl code, but you will need to consult the Tk documentation, and occasionally the Tcl documentation. tkinter is a set of wrappers that implement the Tk widgets as Python classes.

tkinter’s chief virtues are that it is fast, and that it usually comes bundled with Python. Although its standard documentation is weak, good material is available, which includes: references, tutorials, a book and others. tkinter is also famous for having an outdated look and feel, which has been vastly improved in Tk 8.5. Nevertheless, there are many other GUI libraries that you could be interested in. The Python wiki lists several alternative GUI frameworks and tools.

  • tkinter — Python interface to Tcl/Tk
    • Architecture
    • Tkinter modules
    • Tkinter life preserver
      • A Hello World program
      • Important Tk concepts
      • Understanding how Tkinter wraps Tcl/Tk
      • How do I…? What option does…?
      • Navigating the Tcl/Tk reference manual
    • Threading model
    • Handy reference
      • Setting options
      • Geometry management
      • Coupling widget variables
      • The window manager
      • Tk option data types
      • Bindings and events
      • The index parameter
      • Images
    • Reference
      • Base and mixin classes
      • Toplevel widgets
      • Widget classes
      • Variable classes
      • Image classes
      • Other classes
      • Module-level functions
      • File handlers
      • Constants
      • Version information
  • tkinter.colorchooser — Color choosing dialog
  • tkinter.font — Tkinter font wrapper
  • tkinter.fontchooser — Font selection dialog
  • Tkinter dialogs
    • tkinter.simpledialog — Standard Tkinter input dialogs
    • tkinter.filedialog — File selection dialogs
      • Native load/save dialogs
    • tkinter.commondialog — Dialog window templates
    • tkinter.dialog — Classic Tk dialog boxes
  • tkinter.messagebox — Tkinter message prompts
  • tkinter.scrolledtext — Scrolled text widget
  • tkinter.systray — System tray icon and notifications
  • tkinter.dnd — Drag and drop support
  • tkinter.ttk — Tk themed widgets
    • Using Ttk
    • Ttk widgets
    • Widget
      • Standard options
      • Scrollable widget options
      • Label options
      • Compatibility options
      • Widget states
      • ttk.Widget
    • Combobox
      • Options
      • Virtual events
      • ttk.Combobox
    • Spinbox
      • Options
      • Virtual events
      • ttk.Spinbox
    • Notebook
      • Options
      • Tab options
      • Tab identifiers
      • Virtual events
      • ttk.Notebook
    • Progressbar
      • Options
      • ttk.Progressbar
    • Separator
      • Options
    • Sizegrip
      • Platform-specific notes
      • Bugs
    • Treeview
      • Options
      • Item options
      • Tag options
      • Column identifiers
      • Virtual events
      • ttk.Treeview
    • Ttk styling
      • Layouts
    • Additional widgets
  • IDLE — Python editor and shell
    • Menus
      • File menu (Shell and Editor)
      • Edit menu (Shell and Editor)
      • Format menu (Editor window only)
      • Run menu (Editor window only)
      • Shell menu (Shell window only)
      • Debug menu (Shell window only)
      • Options menu (Shell and Editor)
      • Window menu (Shell and Editor)
      • Help menu (Shell and Editor)
      • Context menus
    • Editing and Navigation
      • Editor windows
      • Key bindings
      • Automatic indentation
      • Search and Replace
      • Completions
      • Calltips
      • Format block
      • Code Context
      • Shell window
      • Text colors
    • Startup and Code Execution
      • Command-line usage
      • Startup failure
      • Running user code
      • User output in Shell
      • Developing tkinter applications
      • Running without a subprocess
    • Help and Preferences
      • Help sources
      • Setting preferences
      • IDLE on macOS
      • Extensions
    • idlelib — implementation of IDLE application
  • turtle — Turtle graphics
    • Tutorial
      • Starting a turtle environment
      • Basic drawing
        • Pen control
        • The turtle’s position
      • Making algorithmic patterns
    • Reference
      • Turtle methods and functions
        • Move and draw
        • Tell Turtle’s state
        • Settings for measurement
        • Pen control
          • Drawing state
          • Color control
          • Filling
          • More drawing control
        • Turtle state
          • Visibility
          • Appearance
        • Using events
        • Special Turtle methods
      • Screen methods and functions
        • Window control
        • Animation control
        • Using screen events
        • Input methods
        • Settings and special methods
        • Screen-only methods
      • Public classes
      • Exceptions
    • How-to guides
      • How to automatically begin and end filling
      • How to use compound shapes
      • How to use the turtle module namespace
      • How to use turtle graphics in a script
      • How to use object-oriented turtle graphics
      • How to use help()
      • Translation of docstrings into different languages
      • How to configure Screen and Turtles
    • Explanation
    • turtledemo — Demo scripts
© Copyright 2001 Python Software Foundation.
This page is licensed under the Python Software Foundation License Version 2.
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
See History and License for more information.

The Python Software Foundation is a non-profit corporation. Please donate.

Last updated on Nov 12, 2026 (19:27 UTC). Found a bug?
Created using Sphinx 9.1.1.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.