mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
bpo-42560: simplify/merge architecture info in Tkinter docs (GH-27839)
Co-authored-by: Łukasz Langa <lukasz@langa.pl> Co-authored-by: E-Paine <63801254+E-Paine@users.noreply.github.com>
This commit is contained in:
parent
dcbf7ff6a7
commit
e41912c634
1 changed files with 9 additions and 39 deletions
|
|
@ -72,7 +72,7 @@ Architecture
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Tcl/Tk is not a single library but rather consists of a few distinct
|
Tcl/Tk is not a single library but rather consists of a few distinct
|
||||||
modules, each with a separate functionality and its own official
|
modules, each with separate functionality and its own official
|
||||||
documentation. Python's binary releases also ship an add-on module
|
documentation. Python's binary releases also ship an add-on module
|
||||||
together with it.
|
together with it.
|
||||||
|
|
||||||
|
|
@ -102,11 +102,14 @@ Ttk
|
||||||
Ttk is distributed as part of Tk, starting with Tk version 8.5. Python
|
Ttk is distributed as part of Tk, starting with Tk version 8.5. Python
|
||||||
bindings are provided in a separate module, :mod:`tkinter.ttk`.
|
bindings are provided in a separate module, :mod:`tkinter.ttk`.
|
||||||
|
|
||||||
Tix
|
Internally, Tk and Ttk use facilities of the underlying operating system,
|
||||||
`Tix <https://core.tcl.tk/jenglish/gutter/packages/tix.html>`_ is an older
|
i.e., Xlib on Unix/X11, Cocoa on macOS, GDI on Windows.
|
||||||
third-party Tcl package, an add-on for Tk that adds several new widgets.
|
|
||||||
Python bindings are found in the :mod:`tkinter.tix` module.
|
When your Python application uses a class in Tkinter, e.g., to create a widget,
|
||||||
It's deprecated in favor of Ttk.
|
the :mod:`tkinter` module first assembles a Tcl/Tk command string. It passes that
|
||||||
|
Tcl command string to an internal :mod:`_tkinter` binary module, which then
|
||||||
|
calls the Tcl interpreter to evaluate it. The Tcl interpreter will then call into the
|
||||||
|
Tk and/or Ttk packages, which will in turn make calls to Xlib, Cocoa, or GDI.
|
||||||
|
|
||||||
|
|
||||||
Tkinter Modules
|
Tkinter Modules
|
||||||
|
|
@ -441,39 +444,6 @@ documentation for all of these in the
|
||||||
inherit from).
|
inherit from).
|
||||||
|
|
||||||
|
|
||||||
How Tk and Tkinter are Related
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
From the top down:
|
|
||||||
|
|
||||||
Your App Here (Python)
|
|
||||||
A Python application makes a :mod:`tkinter` call.
|
|
||||||
|
|
||||||
tkinter (Python Package)
|
|
||||||
This call (say, for example, creating a button widget), is implemented in
|
|
||||||
the :mod:`tkinter` package, which is written in Python. This Python
|
|
||||||
function will parse the commands and the arguments and convert them into a
|
|
||||||
form that makes them look as if they had come from a Tk script instead of
|
|
||||||
a Python script.
|
|
||||||
|
|
||||||
_tkinter (C)
|
|
||||||
These commands and their arguments will be passed to a C function in the
|
|
||||||
:mod:`_tkinter` - note the underscore - extension module.
|
|
||||||
|
|
||||||
Tk Widgets (C and Tcl)
|
|
||||||
This C function is able to make calls into other C modules, including the C
|
|
||||||
functions that make up the Tk library. Tk is implemented in C and some Tcl.
|
|
||||||
The Tcl part of the Tk widgets is used to bind certain default behaviors to
|
|
||||||
widgets, and is executed once at the point where the Python :mod:`tkinter`
|
|
||||||
package is imported. (The user never sees this stage).
|
|
||||||
|
|
||||||
Tk (C)
|
|
||||||
The Tk part of the Tk Widgets implement the final mapping to ...
|
|
||||||
|
|
||||||
Xlib (C)
|
|
||||||
the Xlib library to draw graphics on the screen.
|
|
||||||
|
|
||||||
|
|
||||||
Threading model
|
Threading model
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue