mirror of
https://github.com/python/cpython.git
synced 2025-09-27 18:59:43 +00:00
Add Tkinter threading change
Fix markup errors Rewrite a sentence
This commit is contained in:
parent
71fd01c099
commit
6c50df2d90
1 changed files with 17 additions and 3 deletions
|
@ -1286,7 +1286,7 @@ sometimes have odd bugs. Brett Cannon contributed a portable
|
||||||
implementation that's written in pure Python, which should behave
|
implementation that's written in pure Python, which should behave
|
||||||
identically on all platforms.
|
identically on all platforms.
|
||||||
|
|
||||||
\item The \module{UserDict) has a new \class{DictMixin} class which
|
\item The \module{UserDict} module has a new \class{DictMixin} class which
|
||||||
defines all dictionary methods for classes that already have a minimum
|
defines all dictionary methods for classes that already have a minimum
|
||||||
mapping interface. This greatly simplifies writing classes that need
|
mapping interface. This greatly simplifies writing classes that need
|
||||||
to be substitutable for dictionaries, such as the classes in
|
to be substitutable for dictionaries, such as the classes in
|
||||||
|
@ -1294,7 +1294,7 @@ the \module{shelve} module.
|
||||||
|
|
||||||
Adding the mixin as a superclass provides the full dictionary
|
Adding the mixin as a superclass provides the full dictionary
|
||||||
interface whenever the class defines \method{__getitem__},
|
interface whenever the class defines \method{__getitem__},
|
||||||
\method{__setitem__}, \method{__delitem__), and \method{keys}.
|
\method{__setitem__}, \method{__delitem__}, and \method{keys}.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
|
@ -1371,6 +1371,20 @@ stamps, or if they use the tuple API. If used, the feature should be
|
||||||
activated on an application level instead of trying to enable it on a
|
activated on an application level instead of trying to enable it on a
|
||||||
per-use basis.
|
per-use basis.
|
||||||
|
|
||||||
|
\item The \module{Tkinter} module now works with a thread-enabled
|
||||||
|
version of Tcl. Tcl's threading model requires that widgets only be
|
||||||
|
accessed from the thread in which they're created; accesses from
|
||||||
|
another thread can cause Tcl to panic. For certain Tcl interfaces,
|
||||||
|
\module{Tkinter} will now automatically avoid this by marshalling a
|
||||||
|
command, passing it to the correct thread, and waiting for the results
|
||||||
|
when a widget is accessed from a different thread. Other interfaces
|
||||||
|
can't be handled automatically but \module{Tkinter} will now raise an
|
||||||
|
exception on such an access so that you can at least find out about
|
||||||
|
the problem. See
|
||||||
|
\url{http://mail.python.org/pipermail/python-dev/2002-December/031107.html}
|
||||||
|
for a more detailed explanation of this change. (Implemented by
|
||||||
|
Martin von L\"owis.)
|
||||||
|
|
||||||
\item Calling Tcl methods through \module{_tkinter} no longer
|
\item Calling Tcl methods through \module{_tkinter} no longer
|
||||||
returns only strings. Instead, if Tcl returns other objects those
|
returns only strings. Instead, if Tcl returns other objects those
|
||||||
objects are converted to their Python equivalent, if one exists, or
|
objects are converted to their Python equivalent, if one exists, or
|
||||||
|
@ -1392,7 +1406,7 @@ import Tkinter
|
||||||
Tkinter.wantobjects = 0
|
Tkinter.wantobjects = 0
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
Please report any breakage caused by this change as a bug.
|
Any breakage caused by this change should be reported as a bug.
|
||||||
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue