Skip to content

[3.9] bpo-42560: reorganize Tkinter docs modules section for clarity (GH-27840) #27895

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 22, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 36 additions & 17 deletions Doc/library/tkinter.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,23 +68,13 @@ installed, so you can read the Tcl/Tk documentation specific to that version.
Tkinter Modules
---------------

Most of the time, :mod:`tkinter` is all you really need, but a number of
additional modules are available as well. The Tk interface is located in a
binary module named :mod:`_tkinter`. This module contains the low-level
interface to Tk, and should never be used directly by application programmers.
It is usually a shared library (or DLL), but might in some cases be statically
linked with the Python interpreter.

In addition to the Tk interface module, :mod:`tkinter` includes a number of
Python modules, :mod:`tkinter.constants` being one of the most important.
Importing :mod:`tkinter` will automatically import :mod:`tkinter.constants`,
so, usually, to use Tkinter all you need is a simple import statement::
Support for Tkinter is spread across several modules. Most applications will need the
main :mod:`tkinter` module, as well as the :mod:`tkinter.ttk` module, which provides
the modern themed widget set and API::

import tkinter

Or, more often::

from tkinter import *
from tkinter import ttk


.. class:: Tk(screenName=None, baseName=None, className='Tk', useTk=1)
Expand All @@ -107,7 +97,10 @@ Or, more often::
subsystem initialized) by calling its :meth:`loadtk` method.


Other modules that provide Tk support include:
The modules that provide Tk support include:

:mod:`tkinter`
Main Tkinter module.

:mod:`tkinter.colorchooser`
Dialog to let the user choose a color.
Expand All @@ -130,9 +123,35 @@ Other modules that provide Tk support include:
:mod:`tkinter.simpledialog`
Basic dialogs and convenience functions.

:mod:`tkinter.ttk`
Themed widget set introduced in Tk 8.5, providing modern alternatives
for many of the classic widgets in the main :mod:`tkinter` module.

Additional modules:

:mod:`_tkinter`
A binary module that contains the low-level interface to Tcl/Tk.
It is automatically imported by the main :mod:`tkinter` module,
and should never be used directly by application programmers.
It is usually a shared library (or DLL), but might in some cases be
statically linked with the Python interpreter.

:mod:`idlelib`
Python's Integrated Development and Learning Environment (IDLE). Based
on :mod:`tkinter`.

:mod:`tkinter.constants`
Symbolic constants that can be used in place of strings when passing
various parameters to Tkinter calls. Automatically imported by the
main :mod:`tkinter` module.

:mod:`tkinter.dnd`
Drag-and-drop support for :mod:`tkinter`. This is experimental and should
become deprecated when it is replaced with the Tk DND.
(experimental) Drag-and-drop support for :mod:`tkinter`. This will
become deprecated when it is replaced with the Tk DND.

:mod:`tkinter.tix`
(deprecated) An older third-party Tcl/Tk package that adds several new
widgets. Better alternatives for most can be found in :mod:`tkinter.ttk`.

:mod:`turtle`
Turtle graphics in a Tk window.
Expand Down