mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
Vanquish all remaining build warnings.
This commit is contained in:
parent
549719761d
commit
bbedd58eb5
@ -2,7 +2,6 @@ To do after conversion
|
|||||||
======================
|
======================
|
||||||
|
|
||||||
* fix all references and links marked with `XXX`
|
* fix all references and links marked with `XXX`
|
||||||
* fix all duplicate labels and undefined label references
|
|
||||||
* split very large files and add toctrees
|
* split very large files and add toctrees
|
||||||
* integrate standalone HOWTOs
|
* integrate standalone HOWTOs
|
||||||
* find out which files get "comments disabled" metadata
|
* find out which files get "comments disabled" metadata
|
||||||
|
@ -2934,7 +2934,7 @@ Slice Objects
|
|||||||
.. versionadded:: 2.3
|
.. versionadded:: 2.3
|
||||||
|
|
||||||
|
|
||||||
.. _weakref-objects:
|
.. _weakrefobjects:
|
||||||
|
|
||||||
Weak Reference Objects
|
Weak Reference Objects
|
||||||
----------------------
|
----------------------
|
||||||
@ -3168,7 +3168,7 @@ than explicitly calling :cfunc:`PyGen_New`.
|
|||||||
*NULL*.
|
*NULL*.
|
||||||
|
|
||||||
|
|
||||||
.. _datetime-objects:
|
.. _datetimeobjects:
|
||||||
|
|
||||||
DateTime Objects
|
DateTime Objects
|
||||||
----------------
|
----------------
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
.. highlightlang:: c
|
.. highlightlang:: c
|
||||||
|
|
||||||
|
|
||||||
.. _intro:
|
.. _api-intro:
|
||||||
|
|
||||||
************
|
************
|
||||||
Introduction
|
Introduction
|
||||||
@ -30,7 +30,7 @@ familiar with writing an extension before attempting to embed Python in a real
|
|||||||
application.
|
application.
|
||||||
|
|
||||||
|
|
||||||
.. _includes:
|
.. _api-includes:
|
||||||
|
|
||||||
Include Files
|
Include Files
|
||||||
=============
|
=============
|
||||||
@ -80,7 +80,7 @@ header files do properly declare the entry points to be ``extern "C"``, so there
|
|||||||
is no need to do anything special to use the API from C++.
|
is no need to do anything special to use the API from C++.
|
||||||
|
|
||||||
|
|
||||||
.. _objects:
|
.. _api-objects:
|
||||||
|
|
||||||
Objects, Types and Reference Counts
|
Objects, Types and Reference Counts
|
||||||
===================================
|
===================================
|
||||||
@ -107,7 +107,7 @@ that type; for instance, ``PyList_Check(a)`` is true if (and only if) the object
|
|||||||
pointed to by *a* is a Python list.
|
pointed to by *a* is a Python list.
|
||||||
|
|
||||||
|
|
||||||
.. _refcounts:
|
.. _api-refcounts:
|
||||||
|
|
||||||
Reference Counts
|
Reference Counts
|
||||||
----------------
|
----------------
|
||||||
@ -170,7 +170,7 @@ This leaves the caller with the responsibility to call :cfunc:`Py_DECREF` when
|
|||||||
they are done with the result; this soon becomes second nature.
|
they are done with the result; this soon becomes second nature.
|
||||||
|
|
||||||
|
|
||||||
.. _refcountdetails:
|
.. _api-refcountdetails:
|
||||||
|
|
||||||
Reference Count Details
|
Reference Count Details
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@ -335,7 +335,7 @@ using :cfunc:`PySequence_GetItem`. ::
|
|||||||
.. index:: single: sum_sequence()
|
.. index:: single: sum_sequence()
|
||||||
|
|
||||||
|
|
||||||
.. _types:
|
.. _api-types:
|
||||||
|
|
||||||
Types
|
Types
|
||||||
-----
|
-----
|
||||||
@ -349,7 +349,7 @@ of a complex number. These will be discussed together with the functions that
|
|||||||
use them.
|
use them.
|
||||||
|
|
||||||
|
|
||||||
.. _exceptions:
|
.. _api-exceptions:
|
||||||
|
|
||||||
Exceptions
|
Exceptions
|
||||||
==========
|
==========
|
||||||
@ -501,7 +501,7 @@ return value is initialized to ``-1`` (failure) and only set to success after
|
|||||||
the final call made is successful.
|
the final call made is successful.
|
||||||
|
|
||||||
|
|
||||||
.. _embedding:
|
.. _api-embedding:
|
||||||
|
|
||||||
Embedding Python
|
Embedding Python
|
||||||
================
|
================
|
||||||
@ -525,8 +525,6 @@ the table of loaded modules, and creates the fundamental modules
|
|||||||
:mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also
|
:mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also
|
||||||
initializes the module search path (``sys.path``).
|
initializes the module search path (``sys.path``).
|
||||||
|
|
||||||
.. %
|
|
||||||
|
|
||||||
.. index:: single: PySys_SetArgv()
|
.. index:: single: PySys_SetArgv()
|
||||||
|
|
||||||
:cfunc:`Py_Initialize` does not set the "script argument list" (``sys.argv``).
|
:cfunc:`Py_Initialize` does not set the "script argument list" (``sys.argv``).
|
||||||
@ -579,7 +577,7 @@ does *not* free all memory allocated by the Python interpreter, e.g. memory
|
|||||||
allocated by extension modules currently cannot be released.
|
allocated by extension modules currently cannot be released.
|
||||||
|
|
||||||
|
|
||||||
.. _debugging:
|
.. _api-debugging:
|
||||||
|
|
||||||
Debugging Builds
|
Debugging Builds
|
||||||
================
|
================
|
||||||
|
@ -33,6 +33,7 @@ unused_files = [
|
|||||||
'whatsnew/2.5.rst',
|
'whatsnew/2.5.rst',
|
||||||
'maclib/scrap.rst',
|
'maclib/scrap.rst',
|
||||||
'library/xmllib.rst',
|
'library/xmllib.rst',
|
||||||
|
'library/xml.etree.rst',
|
||||||
]
|
]
|
||||||
|
|
||||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||||
|
@ -1415,7 +1415,118 @@ platform-specific functions for launching another program in a sub-process.
|
|||||||
Also provides :func:`find_executable` to search the path for a given executable
|
Also provides :func:`find_executable` to search the path for a given executable
|
||||||
name.
|
name.
|
||||||
|
|
||||||
XXX: input{sysconfig} :XXX
|
|
||||||
|
:mod:`distutils.sysconfig` --- System configuration information
|
||||||
|
===============================================================
|
||||||
|
|
||||||
|
.. module:: distutils.sysconfig
|
||||||
|
:synopsis: Low-level access to configuration information of the Python interpreter.
|
||||||
|
.. moduleauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
||||||
|
.. moduleauthor:: Greg Ward <gward@python.net>
|
||||||
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
||||||
|
|
||||||
|
|
||||||
|
The :mod:`distutils.sysconfig` module provides access to Python's low-level
|
||||||
|
configuration information. The specific configuration variables available
|
||||||
|
depend heavily on the platform and configuration. The specific variables depend
|
||||||
|
on the build process for the specific version of Python being run; the variables
|
||||||
|
are those found in the :file:`Makefile` and configuration header that are
|
||||||
|
installed with Python on Unix systems. The configuration header is called
|
||||||
|
:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h`
|
||||||
|
for earlier versions of Python.
|
||||||
|
|
||||||
|
Some additional functions are provided which perform some useful manipulations
|
||||||
|
for other parts of the :mod:`distutils` package.
|
||||||
|
|
||||||
|
|
||||||
|
.. data:: PREFIX
|
||||||
|
|
||||||
|
The result of ``os.path.normpath(sys.prefix)``.
|
||||||
|
|
||||||
|
|
||||||
|
.. data:: EXEC_PREFIX
|
||||||
|
|
||||||
|
The result of ``os.path.normpath(sys.exec_prefix)``.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_config_var(name)
|
||||||
|
|
||||||
|
Return the value of a single variable. This is equivalent to
|
||||||
|
``get_config_vars().get(name)``.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_config_vars(...)
|
||||||
|
|
||||||
|
Return a set of variable definitions. If there are no arguments, this returns a
|
||||||
|
dictionary mapping names of configuration variables to values. If arguments are
|
||||||
|
provided, they should be strings, and the return value will be a sequence giving
|
||||||
|
the associated values. If a given name does not have a corresponding value,
|
||||||
|
``None`` will be included for that variable.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_config_h_filename()
|
||||||
|
|
||||||
|
Return the full path name of the configuration header. For Unix, this will be
|
||||||
|
the header generated by the :program:`configure` script; for other platforms the
|
||||||
|
header will have been supplied directly by the Python source distribution. The
|
||||||
|
file is a platform-specific text file.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_makefile_filename()
|
||||||
|
|
||||||
|
Return the full path name of the :file:`Makefile` used to build Python. For
|
||||||
|
Unix, this will be a file generated by the :program:`configure` script; the
|
||||||
|
meaning for other platforms will vary. The file is a platform-specific text
|
||||||
|
file, if it exists. This function is only useful on POSIX platforms.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_python_inc([plat_specific[, prefix]])
|
||||||
|
|
||||||
|
Return the directory for either the general or platform-dependent C include
|
||||||
|
files. If *plat_specific* is true, the platform-dependent include directory is
|
||||||
|
returned; if false or omitted, the platform-independent directory is returned.
|
||||||
|
If *prefix* is given, it is used as either the prefix instead of
|
||||||
|
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
||||||
|
*plat_specific* is true.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]])
|
||||||
|
|
||||||
|
Return the directory for either the general or platform-dependent library
|
||||||
|
installation. If *plat_specific* is true, the platform-dependent include
|
||||||
|
directory is returned; if false or omitted, the platform-independent directory
|
||||||
|
is returned. If *prefix* is given, it is used as either the prefix instead of
|
||||||
|
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
||||||
|
*plat_specific* is true. If *standard_lib* is true, the directory for the
|
||||||
|
standard library is returned rather than the directory for the installation of
|
||||||
|
third-party extensions.
|
||||||
|
|
||||||
|
The following function is only intended for use within the :mod:`distutils`
|
||||||
|
package.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: customize_compiler(compiler)
|
||||||
|
|
||||||
|
Do any platform-specific customization of a
|
||||||
|
:class:`distutils.ccompiler.CCompiler` instance.
|
||||||
|
|
||||||
|
This function is only needed on Unix at this time, but should be called
|
||||||
|
consistently to support forward-compatibility. It inserts the information that
|
||||||
|
varies across Unix flavors and is stored in Python's :file:`Makefile`. This
|
||||||
|
information includes the selected compiler, compiler and linker options, and the
|
||||||
|
extension used by the linker for shared objects.
|
||||||
|
|
||||||
|
This function is even more special-purpose, and should only be used from
|
||||||
|
Python's own build procedures.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: set_python_build()
|
||||||
|
|
||||||
|
Inform the :mod:`distutils.sysconfig` module that it is being used as part of
|
||||||
|
the build process for Python. This changes a lot of relative locations for
|
||||||
|
files, allowing them to be located in the build area rather than in an installed
|
||||||
|
Python.
|
||||||
|
|
||||||
|
|
||||||
:mod:`distutils.text_file` --- The TextFile class
|
:mod:`distutils.text_file` --- The TextFile class
|
||||||
=================================================
|
=================================================
|
||||||
@ -1870,20 +1981,3 @@ that command is always applicable.
|
|||||||
*sub_commands* is usually defined at the \*end\* of a class, because predicates
|
*sub_commands* is usually defined at the \*end\* of a class, because predicates
|
||||||
can be unbound methods, so they must already have been defined. The canonical
|
can be unbound methods, so they must already have been defined. The canonical
|
||||||
example is the :command:`install` command.
|
example is the :command:`install` command.
|
||||||
|
|
||||||
.. %
|
|
||||||
.. % The ugly "%begin{latexonly}" pseudo-environments are really just to
|
|
||||||
.. % keep LaTeX2HTML quiet during the \renewcommand{} macros; they're
|
|
||||||
.. % not really valuable.
|
|
||||||
.. %
|
|
||||||
.. % begin{latexonly}
|
|
||||||
.. % end{latexonly}
|
|
||||||
|
|
||||||
XXX: input{moddist.ind} :XXX
|
|
||||||
.. % Module Index
|
|
||||||
.. % begin{latexonly}
|
|
||||||
.. % end{latexonly}
|
|
||||||
|
|
||||||
XXX: input{dist.ind} :XXX
|
|
||||||
.. % Index
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.. _intro:
|
.. _distutils-intro:
|
||||||
|
|
||||||
****************************
|
****************************
|
||||||
An Introduction to Distutils
|
An Introduction to Distutils
|
||||||
@ -10,7 +10,7 @@ information on installing Python modules, you should refer to the Installing
|
|||||||
Python Modules (XXX reference: ../inst/inst.html) manual.
|
Python Modules (XXX reference: ../inst/inst.html) manual.
|
||||||
|
|
||||||
|
|
||||||
.. _concepts:
|
.. _distutils-concepts:
|
||||||
|
|
||||||
Concepts & Terminology
|
Concepts & Terminology
|
||||||
======================
|
======================
|
||||||
@ -41,7 +41,7 @@ their platform, without having to run a single setup script or compile a line of
|
|||||||
code.
|
code.
|
||||||
|
|
||||||
|
|
||||||
.. _simple-example:
|
.. _distutils-simple-example:
|
||||||
|
|
||||||
A Simple Example
|
A Simple Example
|
||||||
================
|
================
|
||||||
|
@ -8,7 +8,7 @@ The setup script is the centre of all activity in building, distributing, and
|
|||||||
installing modules using the Distutils. The main purpose of the setup script is
|
installing modules using the Distutils. The main purpose of the setup script is
|
||||||
to describe your module distribution to the Distutils, so that the various
|
to describe your module distribution to the Distutils, so that the various
|
||||||
commands that operate on your modules do the right thing. As we saw in section
|
commands that operate on your modules do the right thing. As we saw in section
|
||||||
:ref:`simple-example` above, the setup script consists mainly of a call to
|
:ref:`distutils-simple-example` above, the setup script consists mainly of a call to
|
||||||
:func:`setup`, and most information supplied to the Distutils by the module
|
:func:`setup`, and most information supplied to the Distutils by the module
|
||||||
developer is supplied as keyword arguments to :func:`setup`.
|
developer is supplied as keyword arguments to :func:`setup`.
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ the package into Python 1.5.2.) ::
|
|||||||
)
|
)
|
||||||
|
|
||||||
There are only two differences between this and the trivial one-file
|
There are only two differences between this and the trivial one-file
|
||||||
distribution presented in section :ref:`simple-example`: more metadata, and the
|
distribution presented in section :ref:`distutils-simple-example`: more metadata, and the
|
||||||
specification of pure Python modules by package, rather than by module. This is
|
specification of pure Python modules by package, rather than by module. This is
|
||||||
important since the Distutils consist of a couple of dozen modules split into
|
important since the Distutils consist of a couple of dozen modules split into
|
||||||
(so far) two packages; an explicit list of every module would be tedious to
|
(so far) two packages; an explicit list of every module would be tedious to
|
||||||
@ -114,7 +114,7 @@ Listing individual modules
|
|||||||
For a small module distribution, you might prefer to list all modules rather
|
For a small module distribution, you might prefer to list all modules rather
|
||||||
than listing packages---especially the case of a single module that goes in the
|
than listing packages---especially the case of a single module that goes in the
|
||||||
"root package" (i.e., no package at all). This simplest case was shown in
|
"root package" (i.e., no package at all). This simplest case was shown in
|
||||||
section :ref:`simple-example`; here is a slightly more involved example::
|
section :ref:`distutils-simple-example`; here is a slightly more involved example::
|
||||||
|
|
||||||
py_modules = ['mod1', 'pkg.mod2']
|
py_modules = ['mod1', 'pkg.mod2']
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
Creating a Source Distribution
|
Creating a Source Distribution
|
||||||
******************************
|
******************************
|
||||||
|
|
||||||
As shown in section :ref:`simple-example`, you use the :command:`sdist` command
|
As shown in section :ref:`distutils-simple-example`, you use the :command:`sdist` command
|
||||||
to create a source distribution. In the simplest case, ::
|
to create a source distribution. In the simplest case, ::
|
||||||
|
|
||||||
python setup.py sdist
|
python setup.py sdist
|
||||||
|
@ -1,112 +0,0 @@
|
|||||||
|
|
||||||
:mod:`distutils.sysconfig` --- System configuration information
|
|
||||||
===============================================================
|
|
||||||
|
|
||||||
.. module:: distutils.sysconfig
|
|
||||||
:synopsis: Low-level access to configuration information of the Python interpreter.
|
|
||||||
.. moduleauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
||||||
.. moduleauthor:: Greg Ward <gward@python.net>
|
|
||||||
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
||||||
|
|
||||||
|
|
||||||
The :mod:`distutils.sysconfig` module provides access to Python's low-level
|
|
||||||
configuration information. The specific configuration variables available
|
|
||||||
depend heavily on the platform and configuration. The specific variables depend
|
|
||||||
on the build process for the specific version of Python being run; the variables
|
|
||||||
are those found in the :file:`Makefile` and configuration header that are
|
|
||||||
installed with Python on Unix systems. The configuration header is called
|
|
||||||
:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h`
|
|
||||||
for earlier versions of Python.
|
|
||||||
|
|
||||||
Some additional functions are provided which perform some useful manipulations
|
|
||||||
for other parts of the :mod:`distutils` package.
|
|
||||||
|
|
||||||
|
|
||||||
.. data:: PREFIX
|
|
||||||
|
|
||||||
The result of ``os.path.normpath(sys.prefix)``.
|
|
||||||
|
|
||||||
|
|
||||||
.. data:: EXEC_PREFIX
|
|
||||||
|
|
||||||
The result of ``os.path.normpath(sys.exec_prefix)``.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_config_var(name)
|
|
||||||
|
|
||||||
Return the value of a single variable. This is equivalent to
|
|
||||||
``get_config_vars().get(name)``.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_config_vars(...)
|
|
||||||
|
|
||||||
Return a set of variable definitions. If there are no arguments, this returns a
|
|
||||||
dictionary mapping names of configuration variables to values. If arguments are
|
|
||||||
provided, they should be strings, and the return value will be a sequence giving
|
|
||||||
the associated values. If a given name does not have a corresponding value,
|
|
||||||
``None`` will be included for that variable.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_config_h_filename()
|
|
||||||
|
|
||||||
Return the full path name of the configuration header. For Unix, this will be
|
|
||||||
the header generated by the :program:`configure` script; for other platforms the
|
|
||||||
header will have been supplied directly by the Python source distribution. The
|
|
||||||
file is a platform-specific text file.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_makefile_filename()
|
|
||||||
|
|
||||||
Return the full path name of the :file:`Makefile` used to build Python. For
|
|
||||||
Unix, this will be a file generated by the :program:`configure` script; the
|
|
||||||
meaning for other platforms will vary. The file is a platform-specific text
|
|
||||||
file, if it exists. This function is only useful on POSIX platforms.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_python_inc([plat_specific[, prefix]])
|
|
||||||
|
|
||||||
Return the directory for either the general or platform-dependent C include
|
|
||||||
files. If *plat_specific* is true, the platform-dependent include directory is
|
|
||||||
returned; if false or omitted, the platform-independent directory is returned.
|
|
||||||
If *prefix* is given, it is used as either the prefix instead of
|
|
||||||
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
|
||||||
*plat_specific* is true.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]])
|
|
||||||
|
|
||||||
Return the directory for either the general or platform-dependent library
|
|
||||||
installation. If *plat_specific* is true, the platform-dependent include
|
|
||||||
directory is returned; if false or omitted, the platform-independent directory
|
|
||||||
is returned. If *prefix* is given, it is used as either the prefix instead of
|
|
||||||
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
|
||||||
*plat_specific* is true. If *standard_lib* is true, the directory for the
|
|
||||||
standard library is returned rather than the directory for the installation of
|
|
||||||
third-party extensions.
|
|
||||||
|
|
||||||
The following function is only intended for use within the :mod:`distutils`
|
|
||||||
package.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: customize_compiler(compiler)
|
|
||||||
|
|
||||||
Do any platform-specific customization of a
|
|
||||||
:class:`distutils.ccompiler.CCompiler` instance.
|
|
||||||
|
|
||||||
This function is only needed on Unix at this time, but should be called
|
|
||||||
consistently to support forward-compatibility. It inserts the information that
|
|
||||||
varies across Unix flavors and is stored in Python's :file:`Makefile`. This
|
|
||||||
information includes the selected compiler, compiler and linker options, and the
|
|
||||||
extension used by the linker for shared objects.
|
|
||||||
|
|
||||||
This function is even more special-purpose, and should only be used from
|
|
||||||
Python's own build procedures.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: set_python_build()
|
|
||||||
|
|
||||||
Inform the :mod:`distutils.sysconfig` module that it is being used as part of
|
|
||||||
the build process for Python. This changes a lot of relative locations for
|
|
||||||
files, allowing them to be located in the build area rather than in an installed
|
|
||||||
Python.
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
.. highlightlang:: c
|
.. highlightlang:: c
|
||||||
|
|
||||||
|
|
||||||
.. _intro:
|
.. _extending-intro:
|
||||||
|
|
||||||
******************************
|
******************************
|
||||||
Extending Python with C or C++
|
Extending Python with C or C++
|
||||||
@ -21,7 +21,7 @@ The compilation of an extension module depends on its intended use as well as on
|
|||||||
your system setup; details are given in later chapters.
|
your system setup; details are given in later chapters.
|
||||||
|
|
||||||
|
|
||||||
.. _simpleexample:
|
.. _extending-simpleexample:
|
||||||
|
|
||||||
A Simple Example
|
A Simple Example
|
||||||
================
|
================
|
||||||
@ -103,7 +103,7 @@ latter case it also raises an appropriate exception so the calling function can
|
|||||||
return *NULL* immediately (as we saw in the example).
|
return *NULL* immediately (as we saw in the example).
|
||||||
|
|
||||||
|
|
||||||
.. _errors:
|
.. _extending-errors:
|
||||||
|
|
||||||
Intermezzo: Errors and Exceptions
|
Intermezzo: Errors and Exceptions
|
||||||
=================================
|
=================================
|
||||||
@ -1109,8 +1109,8 @@ the module and retrieving its C API pointers; client modules only have to call
|
|||||||
this macro before accessing the C API.
|
this macro before accessing the C API.
|
||||||
|
|
||||||
The exporting module is a modification of the :mod:`spam` module from section
|
The exporting module is a modification of the :mod:`spam` module from section
|
||||||
:ref:`simpleexample`. The function :func:`spam.system` does not call the C
|
:ref:`extending-simpleexample`. The function :func:`spam.system` does not call
|
||||||
library function :cfunc:`system` directly, but a function
|
the C library function :cfunc:`system` directly, but a function
|
||||||
:cfunc:`PySpam_System`, which would of course do something more complicated in
|
:cfunc:`PySpam_System`, which would of course do something more complicated in
|
||||||
reality (such as adding "spam" to every command). This function
|
reality (such as adding "spam" to every command). This function
|
||||||
:cfunc:`PySpam_System` is also exported to other extension modules.
|
:cfunc:`PySpam_System` is also exported to other extension modules.
|
||||||
|
@ -17,7 +17,7 @@ operating system supports this feature.
|
|||||||
|
|
||||||
This document assumes basic knowledge about Python. For an informal
|
This document assumes basic knowledge about Python. For an informal
|
||||||
introduction to the language, see :ref:`tutorial-index`. :ref:`reference-index`
|
introduction to the language, see :ref:`tutorial-index`. :ref:`reference-index`
|
||||||
gives a more formal definition of the language. :ref:`modules-index` documents
|
gives a more formal definition of the language. :ref:`library-index` documents
|
||||||
the existing object types, functions and modules (both built-in and written in
|
the existing object types, functions and modules (both built-in and written in
|
||||||
Python) that give the language its wide application range.
|
Python) that give the language its wide application range.
|
||||||
|
|
||||||
|
@ -1,290 +0,0 @@
|
|||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| Node type | Attribute | Value |
|
|
||||||
+=======================+====================+=================================+
|
|
||||||
| :class:`Add` | :attr:`left` | left operand |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | right operand |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`And` | :attr:`nodes` | list of operands |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssAttr` | | *attribute as target of |
|
|
||||||
| | | assignment* |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | expression on the left-hand |
|
|
||||||
| | | side of the dot |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`attrname` | the attribute name, a string |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | XXX |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssList` | :attr:`nodes` | list of list elements being |
|
|
||||||
| | | assigned to |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssName` | :attr:`name` | name being assigned to |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | XXX |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssTuple` | :attr:`nodes` | list of tuple elements being |
|
|
||||||
| | | assigned to |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Assert` | :attr:`test` | the expression to be tested |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`fail` | the value of the |
|
|
||||||
| | | :exc:`AssertionError` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Assign` | :attr:`nodes` | a list of assignment targets, |
|
|
||||||
| | | one per equal sign |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | the value being assigned |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AugAssign` | :attr:`node` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`op` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Backquote` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Bitand` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Bitor` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Bitxor` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Break` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`CallFunc` | :attr:`node` | expression for the callee |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`args` | a list of arguments |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`star_args` | the extended \*-arg value |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`dstar_args` | the extended \*\*-arg value |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Class` | :attr:`name` | the name of the class, a string |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`bases` | a list of base classes |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`doc` | doc string, a string or |
|
|
||||||
| | | ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`code` | the body of the class statement |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Compare` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`ops` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Const` | :attr:`value` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Continue` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Decorators` | :attr:`nodes` | List of function decorator |
|
|
||||||
| | | expressions |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Dict` | :attr:`items` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Discard` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Div` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Ellipsis` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Expression` | :attr:`node` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Exec` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`locals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`globals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`FloorDiv` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`For` | :attr:`assign` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`list` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`From` | :attr:`modname` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`names` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Function` | :attr:`decorators` | :class:`Decorators` or ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`name` | name used in def, a string |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`argnames` | list of argument names, as |
|
|
||||||
| | | strings |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`defaults` | list of default values |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | xxx |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`doc` | doc string, a string or |
|
|
||||||
| | | ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`code` | the body of the function |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExpr` | :attr:`code` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExprFor` | :attr:`assign` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`iter` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`ifs` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExprIf` | :attr:`test` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExprInner` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`quals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Getattr` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`attrname` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Global` | :attr:`names` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`If` | :attr:`tests` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Import` | :attr:`names` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Invert` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Keyword` | :attr:`name` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Lambda` | :attr:`argnames` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`defaults` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`code` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`LeftShift` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`List` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`ListComp` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`quals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`ListCompFor` | :attr:`assign` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`list` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`ifs` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`ListCompIf` | :attr:`test` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Mod` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Module` | :attr:`doc` | doc string, a string or |
|
|
||||||
| | | ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`node` | body of the module, a |
|
|
||||||
| | | :class:`Stmt` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Mul` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Name` | :attr:`name` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Not` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Or` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Pass` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Power` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Print` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`dest` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Printnl` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`dest` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Raise` | :attr:`expr1` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr2` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr3` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Return` | :attr:`value` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`RightShift` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Slice` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`lower` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`upper` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Sliceobj` | :attr:`nodes` | list of statements |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Stmt` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Sub` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Subscript` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`subs` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`TryExcept` | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`handlers` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`TryFinally` | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`final` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Tuple` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`UnaryAdd` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`UnarySub` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`While` | :attr:`test` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`With` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`vars` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Yield` | :attr:`value` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
|
|
@ -213,7 +213,296 @@ instance, the type is noted in the comment. The attributes are listed in the
|
|||||||
order in which they are returned by :meth:`getChildren` and
|
order in which they are returned by :meth:`getChildren` and
|
||||||
:meth:`getChildNodes`.
|
:meth:`getChildNodes`.
|
||||||
|
|
||||||
XXX: input{asttable} :XXX
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| Node type | Attribute | Value |
|
||||||
|
+=======================+====================+=================================+
|
||||||
|
| :class:`Add` | :attr:`left` | left operand |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | right operand |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`And` | :attr:`nodes` | list of operands |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`AssAttr` | | *attribute as target of |
|
||||||
|
| | | assignment* |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`expr` | expression on the left-hand |
|
||||||
|
| | | side of the dot |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`attrname` | the attribute name, a string |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`flags` | XXX |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`AssList` | :attr:`nodes` | list of list elements being |
|
||||||
|
| | | assigned to |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`AssName` | :attr:`name` | name being assigned to |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`flags` | XXX |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`AssTuple` | :attr:`nodes` | list of tuple elements being |
|
||||||
|
| | | assigned to |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Assert` | :attr:`test` | the expression to be tested |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`fail` | the value of the |
|
||||||
|
| | | :exc:`AssertionError` |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Assign` | :attr:`nodes` | a list of assignment targets, |
|
||||||
|
| | | one per equal sign |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`expr` | the value being assigned |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`AugAssign` | :attr:`node` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`op` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Backquote` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Bitand` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Bitor` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Bitxor` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Break` | | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`CallFunc` | :attr:`node` | expression for the callee |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`args` | a list of arguments |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`star_args` | the extended \*-arg value |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`dstar_args` | the extended \*\*-arg value |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Class` | :attr:`name` | the name of the class, a string |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`bases` | a list of base classes |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`doc` | doc string, a string or |
|
||||||
|
| | | ``None`` |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`code` | the body of the class statement |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Compare` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`ops` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Const` | :attr:`value` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Continue` | | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Decorators` | :attr:`nodes` | List of function decorator |
|
||||||
|
| | | expressions |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Dict` | :attr:`items` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Discard` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Div` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Ellipsis` | | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Expression` | :attr:`node` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Exec` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`locals` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`globals` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`FloorDiv` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`For` | :attr:`assign` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`list` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`body` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`else_` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`From` | :attr:`modname` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`names` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Function` | :attr:`decorators` | :class:`Decorators` or ``None`` |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`name` | name used in def, a string |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`argnames` | list of argument names, as |
|
||||||
|
| | | strings |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`defaults` | list of default values |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`flags` | xxx |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`doc` | doc string, a string or |
|
||||||
|
| | | ``None`` |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`code` | the body of the function |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`GenExpr` | :attr:`code` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`GenExprFor` | :attr:`assign` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`iter` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`ifs` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`GenExprIf` | :attr:`test` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`GenExprInner` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`quals` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Getattr` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`attrname` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Global` | :attr:`names` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`If` | :attr:`tests` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`else_` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Import` | :attr:`names` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Invert` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Keyword` | :attr:`name` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Lambda` | :attr:`argnames` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`defaults` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`flags` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`code` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`LeftShift` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`List` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`ListComp` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`quals` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`ListCompFor` | :attr:`assign` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`list` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`ifs` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`ListCompIf` | :attr:`test` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Mod` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Module` | :attr:`doc` | doc string, a string or |
|
||||||
|
| | | ``None`` |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`node` | body of the module, a |
|
||||||
|
| | | :class:`Stmt` |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Mul` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Name` | :attr:`name` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Not` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Or` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Pass` | | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Power` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Print` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`dest` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Printnl` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`dest` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Raise` | :attr:`expr1` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`expr2` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`expr3` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Return` | :attr:`value` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`RightShift` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Slice` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`flags` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`lower` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`upper` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Sliceobj` | :attr:`nodes` | list of statements |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Stmt` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Sub` | :attr:`left` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`right` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Subscript` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`flags` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`subs` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`TryExcept` | :attr:`body` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`handlers` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`else_` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`TryFinally` | :attr:`body` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`final` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Tuple` | :attr:`nodes` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`UnaryAdd` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`UnarySub` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`While` | :attr:`test` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`body` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`else_` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`With` | :attr:`expr` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`vars` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| | :attr:`body` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
| :class:`Yield` | :attr:`value` | |
|
||||||
|
+-----------------------+--------------------+---------------------------------+
|
||||||
|
|
||||||
|
|
||||||
Assignment nodes
|
Assignment nodes
|
||||||
----------------
|
----------------
|
||||||
|
@ -82,8 +82,6 @@ Functions provided:
|
|||||||
:meth:`__exit__` methods should avoid raising exceptions, and in particular they
|
:meth:`__exit__` methods should avoid raising exceptions, and in particular they
|
||||||
should not re-raise a passed-in exception.
|
should not re-raise a passed-in exception.
|
||||||
|
|
||||||
.. _context-closing:
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: closing(thing)
|
.. function:: closing(thing)
|
||||||
|
|
||||||
|
@ -32,9 +32,8 @@ introduced with RFC 2965.
|
|||||||
:mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are
|
:mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are
|
||||||
conventionally referred to as :dfn:`attributes`. To distinguish them from
|
conventionally referred to as :dfn:`attributes`. To distinguish them from
|
||||||
Python attributes, the documentation for this module uses the term
|
Python attributes, the documentation for this module uses the term
|
||||||
:dfn:`cookie-attribute` instead
|
:dfn:`cookie-attribute` instead.
|
||||||
|
|
||||||
.
|
|
||||||
|
|
||||||
The module defines the following exception:
|
The module defines the following exception:
|
||||||
|
|
||||||
@ -47,9 +46,8 @@ The module defines the following exception:
|
|||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
For backwards-compatibility with Python 2.4 (which raised an :exc:`IOError`),
|
For backwards-compatibility with Python 2.4 (which raised an :exc:`IOError`),
|
||||||
:exc:`LoadError` is a subclass of :exc:`IOError`
|
:exc:`LoadError` is a subclass of :exc:`IOError`.
|
||||||
|
|
||||||
.
|
|
||||||
|
|
||||||
The following classes are provided:
|
The following classes are provided:
|
||||||
|
|
||||||
@ -601,7 +599,7 @@ combinations of the above flags:
|
|||||||
Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``.
|
Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``.
|
||||||
|
|
||||||
|
|
||||||
.. _cookie-objects:
|
.. _cookielib-cookie-objects:
|
||||||
|
|
||||||
Cookie Objects
|
Cookie Objects
|
||||||
--------------
|
--------------
|
||||||
|
288
Doc-26/library/idle.rst
Normal file
288
Doc-26/library/idle.rst
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
.. _idle:
|
||||||
|
|
||||||
|
Idle
|
||||||
|
====
|
||||||
|
|
||||||
|
.. moduleauthor:: Guido van Rossum <guido@Python.org>
|
||||||
|
|
||||||
|
|
||||||
|
.. % \declaremodule{standard}{idle}
|
||||||
|
.. % \modulesynopsis{A Python Integrated Development Environment}
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: Idle
|
||||||
|
single: Python Editor
|
||||||
|
single: Integrated Development Environment
|
||||||
|
|
||||||
|
Idle is the Python IDE built with the :mod:`Tkinter` GUI toolkit.
|
||||||
|
|
||||||
|
IDLE has the following features:
|
||||||
|
|
||||||
|
* coded in 100% pure Python, using the :mod:`Tkinter` GUI toolkit
|
||||||
|
|
||||||
|
* cross-platform: works on Windows and Unix (on Mac OS, there are currently
|
||||||
|
problems with Tcl/Tk)
|
||||||
|
|
||||||
|
* multi-window text editor with multiple undo, Python colorizing and many other
|
||||||
|
features, e.g. smart indent and call tips
|
||||||
|
|
||||||
|
* Python shell window (a.k.a. interactive interpreter)
|
||||||
|
|
||||||
|
* debugger (not complete, but you can set breakpoints, view and step)
|
||||||
|
|
||||||
|
|
||||||
|
Menus
|
||||||
|
-----
|
||||||
|
|
||||||
|
|
||||||
|
File menu
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
New window
|
||||||
|
create a new editing window
|
||||||
|
|
||||||
|
Open...
|
||||||
|
open an existing file
|
||||||
|
|
||||||
|
Open module...
|
||||||
|
open an existing module (searches sys.path)
|
||||||
|
|
||||||
|
Class browser
|
||||||
|
show classes and methods in current file
|
||||||
|
|
||||||
|
Path browser
|
||||||
|
show sys.path directories, modules, classes and methods
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: Class browser
|
||||||
|
single: Path browser
|
||||||
|
|
||||||
|
Save
|
||||||
|
save current window to the associated file (unsaved windows have a \* before and
|
||||||
|
after the window title)
|
||||||
|
|
||||||
|
Save As...
|
||||||
|
save current window to new file, which becomes the associated file
|
||||||
|
|
||||||
|
Save Copy As...
|
||||||
|
save current window to different file without changing the associated file
|
||||||
|
|
||||||
|
Close
|
||||||
|
close current window (asks to save if unsaved)
|
||||||
|
|
||||||
|
Exit
|
||||||
|
close all windows and quit IDLE (asks to save if unsaved)
|
||||||
|
|
||||||
|
|
||||||
|
Edit menu
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
Undo
|
||||||
|
Undo last change to current window (max 1000 changes)
|
||||||
|
|
||||||
|
Redo
|
||||||
|
Redo last undone change to current window
|
||||||
|
|
||||||
|
Cut
|
||||||
|
Copy selection into system-wide clipboard; then delete selection
|
||||||
|
|
||||||
|
Copy
|
||||||
|
Copy selection into system-wide clipboard
|
||||||
|
|
||||||
|
Paste
|
||||||
|
Insert system-wide clipboard into window
|
||||||
|
|
||||||
|
Select All
|
||||||
|
Select the entire contents of the edit buffer
|
||||||
|
|
||||||
|
Find...
|
||||||
|
Open a search dialog box with many options
|
||||||
|
|
||||||
|
Find again
|
||||||
|
Repeat last search
|
||||||
|
|
||||||
|
Find selection
|
||||||
|
Search for the string in the selection
|
||||||
|
|
||||||
|
Find in Files...
|
||||||
|
Open a search dialog box for searching files
|
||||||
|
|
||||||
|
Replace...
|
||||||
|
Open a search-and-replace dialog box
|
||||||
|
|
||||||
|
Go to line
|
||||||
|
Ask for a line number and show that line
|
||||||
|
|
||||||
|
Indent region
|
||||||
|
Shift selected lines right 4 spaces
|
||||||
|
|
||||||
|
Dedent region
|
||||||
|
Shift selected lines left 4 spaces
|
||||||
|
|
||||||
|
Comment out region
|
||||||
|
Insert ## in front of selected lines
|
||||||
|
|
||||||
|
Uncomment region
|
||||||
|
Remove leading # or ## from selected lines
|
||||||
|
|
||||||
|
Tabify region
|
||||||
|
Turns *leading* stretches of spaces into tabs
|
||||||
|
|
||||||
|
Untabify region
|
||||||
|
Turn *all* tabs into the right number of spaces
|
||||||
|
|
||||||
|
Expand word
|
||||||
|
Expand the word you have typed to match another word in the same buffer; repeat
|
||||||
|
to get a different expansion
|
||||||
|
|
||||||
|
Format Paragraph
|
||||||
|
Reformat the current blank-line-separated paragraph
|
||||||
|
|
||||||
|
Import module
|
||||||
|
Import or reload the current module
|
||||||
|
|
||||||
|
Run script
|
||||||
|
Execute the current file in the __main__ namespace
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: Import module
|
||||||
|
single: Run script
|
||||||
|
|
||||||
|
|
||||||
|
Windows menu
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Zoom Height
|
||||||
|
toggles the window between normal size (24x80) and maximum height.
|
||||||
|
|
||||||
|
The rest of this menu lists the names of all open windows; select one to bring
|
||||||
|
it to the foreground (deiconifying it if necessary).
|
||||||
|
|
||||||
|
|
||||||
|
Debug menu (in the Python Shell window only)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Go to file/line
|
||||||
|
look around the insert point for a filename and linenumber, open the file, and
|
||||||
|
show the line.
|
||||||
|
|
||||||
|
Open stack viewer
|
||||||
|
show the stack traceback of the last exception
|
||||||
|
|
||||||
|
Debugger toggle
|
||||||
|
Run commands in the shell under the debugger
|
||||||
|
|
||||||
|
JIT Stack viewer toggle
|
||||||
|
Open stack viewer on traceback
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: stack viewer
|
||||||
|
single: debugger
|
||||||
|
|
||||||
|
|
||||||
|
Basic editing and navigation
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right
|
||||||
|
|
||||||
|
* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around
|
||||||
|
|
||||||
|
* :kbd:`Home`/:kbd:`End` go to begin/end of line
|
||||||
|
|
||||||
|
* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file
|
||||||
|
|
||||||
|
* Some :program:`Emacs` bindings may also work, including :kbd:`C-B`,
|
||||||
|
:kbd:`C-P`, :kbd:`C-A`, :kbd:`C-E`, :kbd:`C-D`, :kbd:`C-L`
|
||||||
|
|
||||||
|
|
||||||
|
Automatic indentation
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
After a block-opening statement, the next line is indented by 4 spaces (in the
|
||||||
|
Python Shell window by one tab). After certain keywords (break, return etc.)
|
||||||
|
the next line is dedented. In leading indentation, :kbd:`Backspace` deletes up
|
||||||
|
to 4 spaces if they are there. :kbd:`Tab` inserts 1-4 spaces (in the Python
|
||||||
|
Shell window one tab). See also the indent/dedent region commands in the edit
|
||||||
|
menu.
|
||||||
|
|
||||||
|
|
||||||
|
Python Shell window
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
* :kbd:`C-C` interrupts executing command
|
||||||
|
|
||||||
|
* :kbd:`C-D` sends end-of-file; closes window if typed at a ``>>>`` prompt
|
||||||
|
|
||||||
|
* :kbd:`Alt-p` retrieves previous command matching what you have typed
|
||||||
|
|
||||||
|
* :kbd:`Alt-n` retrieves next
|
||||||
|
|
||||||
|
* :kbd:`Return` while on any previous command retrieves that command
|
||||||
|
|
||||||
|
* :kbd:`Alt-/` (Expand word) is also useful here
|
||||||
|
|
||||||
|
.. index:: single: indentation
|
||||||
|
|
||||||
|
|
||||||
|
Syntax colors
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The coloring is applied in a background "thread," so you may occasionally see
|
||||||
|
uncolorized text. To change the color scheme, edit the ``[Colors]`` section in
|
||||||
|
:file:`config.txt`.
|
||||||
|
|
||||||
|
Python syntax colors:
|
||||||
|
Keywords
|
||||||
|
orange
|
||||||
|
|
||||||
|
Strings
|
||||||
|
green
|
||||||
|
|
||||||
|
Comments
|
||||||
|
red
|
||||||
|
|
||||||
|
Definitions
|
||||||
|
blue
|
||||||
|
|
||||||
|
Shell colors:
|
||||||
|
Console output
|
||||||
|
brown
|
||||||
|
|
||||||
|
stdout
|
||||||
|
blue
|
||||||
|
|
||||||
|
stderr
|
||||||
|
dark green
|
||||||
|
|
||||||
|
stdin
|
||||||
|
black
|
||||||
|
|
||||||
|
|
||||||
|
Command line usage
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
|
||||||
|
|
||||||
|
-c command run this command
|
||||||
|
-d enable debugger
|
||||||
|
-e edit mode; arguments are files to be edited
|
||||||
|
-s run $IDLESTARTUP or $PYTHONSTARTUP first
|
||||||
|
-t title set title of shell window
|
||||||
|
|
||||||
|
If there are arguments:
|
||||||
|
|
||||||
|
#. If :option:`-e` is used, arguments are files opened for editing and
|
||||||
|
``sys.argv`` reflects the arguments passed to IDLE itself.
|
||||||
|
|
||||||
|
#. Otherwise, if :option:`-c` is used, all arguments are placed in
|
||||||
|
``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``.
|
||||||
|
|
||||||
|
#. Otherwise, if neither :option:`-e` nor :option:`-c` is used, the first
|
||||||
|
argument is a script which is executed with the remaining arguments in
|
||||||
|
``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script
|
||||||
|
name is '-', no script is executed but an interactive Python session is started;
|
||||||
|
the arguments are still available in ``sys.argv``.
|
||||||
|
|
||||||
|
|
@ -51,7 +51,7 @@ documented in the Reference Manual.
|
|||||||
ipc.rst
|
ipc.rst
|
||||||
internet.rst
|
internet.rst
|
||||||
mm.rst
|
mm.rst
|
||||||
tkinter.rst
|
tk.rst
|
||||||
i18n.rst
|
i18n.rst
|
||||||
frameworks.rst
|
frameworks.rst
|
||||||
development.rst
|
development.rst
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
.. _intro:
|
.. _library-intro:
|
||||||
|
|
||||||
************
|
************
|
||||||
Introduction
|
Introduction
|
||||||
|
93
Doc-26/library/othergui.rst
Normal file
93
Doc-26/library/othergui.rst
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
.. _other-gui-packages:
|
||||||
|
|
||||||
|
Other Graphical User Interface Packages
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
There are an number of extension widget sets to :mod:`Tkinter`.
|
||||||
|
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
`Python megawidgets <http://pmw.sourceforge.net/>`_
|
||||||
|
is a toolkit for building high-level compound widgets in Python using the
|
||||||
|
:mod:`Tkinter` module. It consists of a set of base classes and a library of
|
||||||
|
flexible and extensible megawidgets built on this foundation. These megawidgets
|
||||||
|
include notebooks, comboboxes, selection widgets, paned widgets, scrolled
|
||||||
|
widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT, the
|
||||||
|
busy, graph, stripchart, tabset and vector commands are be available.
|
||||||
|
|
||||||
|
The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr
|
||||||
|
Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the
|
||||||
|
megawidgets are direct translations from the itcl to Python. It offers most of
|
||||||
|
the range of widgets that ``[incr Widgets]`` does, and is almost as complete as
|
||||||
|
Tix, lacking however Tix's fast :class:`HList` widget for drawing trees.
|
||||||
|
|
||||||
|
`Tkinter3000 Widget Construction Kit (WCK) <http://tkinter.effbot.org/>`_
|
||||||
|
is a library that allows you to write new Tkinter widgets in pure Python. The
|
||||||
|
WCK framework gives you full control over widget creation, configuration, screen
|
||||||
|
appearance, and event handling. WCK widgets can be very fast and light-weight,
|
||||||
|
since they can operate directly on Python data structures, without having to
|
||||||
|
transfer data through the Tk/Tcl layer.
|
||||||
|
|
||||||
|
.. %
|
||||||
|
|
||||||
|
Other GUI packages are also available for Python:
|
||||||
|
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
`wxPython <http://www.wxpython.org>`_
|
||||||
|
wxPython is a cross-platform GUI toolkit for Python that is built around the
|
||||||
|
popular `wxWidgets <http://www.wxwidgets.org/>`_ C++ toolkit. It provides a
|
||||||
|
native look and feel for applications on Windows, Mac OS X, and Unix systems by
|
||||||
|
using each platform's native widgets where ever possible, (GTK+ on Unix-like
|
||||||
|
systems). In addition to an extensive set of widgets, wxPython provides classes
|
||||||
|
for online documentation and context sensitive help, printing, HTML viewing,
|
||||||
|
low-level device context drawing, drag and drop, system clipboard access, an
|
||||||
|
XML-based resource format and more, including an ever growing library of user-
|
||||||
|
contributed modules. Both the wxWidgets and wxPython projects are under active
|
||||||
|
development and continuous improvement, and have active and helpful user and
|
||||||
|
developer communities.
|
||||||
|
|
||||||
|
`wxPython in Action <http://www.amazon.com/exec/obidos/ASIN/1932394621>`_
|
||||||
|
The wxPython book, by Noel Rappin and Robin Dunn.
|
||||||
|
|
||||||
|
PyQt
|
||||||
|
PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
|
||||||
|
extensive C++ GUI toolkit that is available for Unix, Windows and Mac OS X.
|
||||||
|
:program:`sip` is a tool for generating bindings for C++ libraries as Python
|
||||||
|
classes, and is specifically designed for Python. An online manual is available
|
||||||
|
at http://www.opendocspublishing.com/pyqt/ (errata are located at
|
||||||
|
http://www.valdyas.org/python/book.html).
|
||||||
|
|
||||||
|
`PyKDE <http://www.riverbankcomputing.co.uk/pykde/index.php>`_
|
||||||
|
PyKDE is a :program:`sip`\ -wrapped interface to the KDE desktop libraries. KDE
|
||||||
|
is a desktop environment for Unix computers; the graphical components are based
|
||||||
|
on Qt.
|
||||||
|
|
||||||
|
`FXPy <http://fxpy.sourceforge.net/>`_
|
||||||
|
is a Python extension module which provides an interface to the `FOX
|
||||||
|
<http://www.cfdrc.com/FOX/fox.html>`_ GUI. FOX is a C++ based Toolkit for
|
||||||
|
developing Graphical User Interfaces easily and effectively. It offers a wide,
|
||||||
|
and growing, collection of Controls, and provides state of the art facilities
|
||||||
|
such as drag and drop, selection, as well as OpenGL widgets for 3D graphical
|
||||||
|
manipulation. FOX also implements icons, images, and user-convenience features
|
||||||
|
such as status line help, and tooltips.
|
||||||
|
|
||||||
|
Even though FOX offers a large collection of controls already, FOX leverages C++
|
||||||
|
to allow programmers to easily build additional Controls and GUI elements,
|
||||||
|
simply by taking existing controls, and creating a derived class which simply
|
||||||
|
adds or redefines the desired behavior.
|
||||||
|
|
||||||
|
`PyGTK <http://www.daa.com.au/~james/software/pygtk/>`_
|
||||||
|
is a set of bindings for the `GTK <http://www.gtk.org/>`_ widget set. It
|
||||||
|
provides an object oriented interface that is slightly higher level than the C
|
||||||
|
one. It automatically does all the type casting and reference counting that you
|
||||||
|
would have to do normally with the C API. There are also `bindings
|
||||||
|
<http://www.daa.com.au/~james/gnome/>`_ to `GNOME <http://www.gnome.org>`_, and
|
||||||
|
a `tutorial
|
||||||
|
<http://laguna.fmedic.unam.mx/~daniel/pygtutorial/pygtutorial/index.html>`_ is
|
||||||
|
available.
|
||||||
|
|
||||||
|
.. % XXX Reference URLs that compare the different UI packages
|
||||||
|
|
32
Doc-26/library/scrolledtext.rst
Normal file
32
Doc-26/library/scrolledtext.rst
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
:mod:`ScrolledText` --- Scrolled Text Widget
|
||||||
|
============================================
|
||||||
|
|
||||||
|
.. module:: ScrolledText
|
||||||
|
:platform: Tk
|
||||||
|
:synopsis: Text widget with a vertical scroll bar.
|
||||||
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
||||||
|
|
||||||
|
|
||||||
|
The :mod:`ScrolledText` module provides a class of the same name which
|
||||||
|
implements a basic text widget which has a vertical scroll bar configured to do
|
||||||
|
the "right thing." Using the :class:`ScrolledText` class is a lot easier than
|
||||||
|
setting up a text widget and scroll bar directly. The constructor is the same
|
||||||
|
as that of the :class:`Tkinter.Text` class.
|
||||||
|
|
||||||
|
The text widget and scrollbar are packed together in a :class:`Frame`, and the
|
||||||
|
methods of the :class:`Grid` and :class:`Pack` geometry managers are acquired
|
||||||
|
from the :class:`Frame` object. This allows the :class:`ScrolledText` widget to
|
||||||
|
be used directly to achieve most normal geometry management behavior.
|
||||||
|
|
||||||
|
Should more specific control be necessary, the following attributes are
|
||||||
|
available:
|
||||||
|
|
||||||
|
|
||||||
|
.. attribute:: ScrolledText.frame
|
||||||
|
|
||||||
|
The frame which surrounds the text and scroll bar widgets.
|
||||||
|
|
||||||
|
|
||||||
|
.. attribute:: ScrolledText.vbar
|
||||||
|
|
||||||
|
The scroll bar widget.
|
@ -148,9 +148,8 @@ Module functions and constants
|
|||||||
for the lock to go away until raising an exception. The default for the timeout
|
for the lock to go away until raising an exception. The default for the timeout
|
||||||
parameter is 5.0 (five seconds).
|
parameter is 5.0 (five seconds).
|
||||||
|
|
||||||
For the *isolation_level* parameter, please see the :attr:`isolation_level`
|
For the *isolation_level* parameter, please see the
|
||||||
property of :class:`Connection` objects in section
|
:attr:`Connection.isolation_level` property of :class:`Connection` objects.
|
||||||
:ref:`sqlite3-connection-isolationlevel`.
|
|
||||||
|
|
||||||
SQLite natively supports only the types TEXT, INTEGER, FLOAT, BLOB and NULL. If
|
SQLite natively supports only the types TEXT, INTEGER, FLOAT, BLOB and NULL. If
|
||||||
you want to use other types you must add support for them yourself. The
|
you want to use other types you must add support for them yourself. The
|
||||||
@ -221,9 +220,6 @@ Connection Objects
|
|||||||
|
|
||||||
A :class:`Connection` instance has the following attributes and methods:
|
A :class:`Connection` instance has the following attributes and methods:
|
||||||
|
|
||||||
.. _sqlite3-connection-isolationlevel:
|
|
||||||
|
|
||||||
|
|
||||||
.. attribute:: Connection.isolation_level
|
.. attribute:: Connection.isolation_level
|
||||||
|
|
||||||
Get or set the current isolation level. None for autocommit mode or one of
|
Get or set the current isolation level. None for autocommit mode or one of
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
.. _types:
|
.. _bltin-types:
|
||||||
|
|
||||||
**************
|
**************
|
||||||
Built-in Types
|
Built-in Types
|
||||||
@ -120,7 +120,7 @@ Notes:
|
|||||||
interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error.
|
interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error.
|
||||||
|
|
||||||
|
|
||||||
.. _comparisons:
|
.. _stdcomparisons:
|
||||||
|
|
||||||
Comparisons
|
Comparisons
|
||||||
===========
|
===========
|
||||||
@ -1781,9 +1781,8 @@ Files have the following methods:
|
|||||||
|
|
||||||
Not all "file-like" types in Python support use as a context manager for the
|
Not all "file-like" types in Python support use as a context manager for the
|
||||||
:keyword:`with` statement. If your code is intended to work with any file-like
|
:keyword:`with` statement. If your code is intended to work with any file-like
|
||||||
object, you can use the :func:`closing` function in the :mod:`contextlib` module
|
object, you can use the function :func:`contextlib.closing` instead of using
|
||||||
instead of using the object directly. See section :ref:`context-closing` for
|
the object directly.
|
||||||
details.
|
|
||||||
|
|
||||||
|
|
||||||
.. method:: file.flush()
|
.. method:: file.flush()
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
.. _strings:
|
.. _stringservices:
|
||||||
|
|
||||||
***************
|
***************
|
||||||
String Services
|
String Services
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
.. _tarfile-mod:
|
||||||
|
|
||||||
:mod:`tarfile` --- Read and write tar archive files
|
:mod:`tarfile` --- Read and write tar archive files
|
||||||
===================================================
|
===================================================
|
||||||
@ -286,7 +287,7 @@ object, see :ref:`tarinfo-objects` for details.
|
|||||||
.. method:: TarFile.open(...)
|
.. method:: TarFile.open(...)
|
||||||
|
|
||||||
Alternative constructor. The :func:`open` function on module level is actually a
|
Alternative constructor. The :func:`open` function on module level is actually a
|
||||||
shortcut to this classmethod. See section :ref:`module-tarfile` for details.
|
shortcut to this classmethod. See section :ref:`tarfile-mod` for details.
|
||||||
|
|
||||||
|
|
||||||
.. method:: TarFile.getmember(name)
|
.. method:: TarFile.getmember(name)
|
||||||
|
602
Doc-26/library/tix.rst
Normal file
602
Doc-26/library/tix.rst
Normal file
@ -0,0 +1,602 @@
|
|||||||
|
:mod:`Tix` --- Extension widgets for Tk
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
.. module:: Tix
|
||||||
|
:synopsis: Tk Extension Widgets for Tkinter
|
||||||
|
.. sectionauthor:: Mike Clarkson <mikeclarkson@users.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
|
.. index:: single: Tix
|
||||||
|
|
||||||
|
The :mod:`Tix` (Tk Interface Extension) module provides an additional rich set
|
||||||
|
of widgets. Although the standard Tk library has many useful widgets, they are
|
||||||
|
far from complete. The :mod:`Tix` library provides most of the commonly needed
|
||||||
|
widgets that are missing from standard Tk: :class:`HList`, :class:`ComboBox`,
|
||||||
|
:class:`Control` (a.k.a. SpinBox) and an assortment of scrollable widgets.
|
||||||
|
:mod:`Tix` also includes many more widgets that are generally useful in a wide
|
||||||
|
range of applications: :class:`NoteBook`, :class:`FileEntry`,
|
||||||
|
:class:`PanedWindow`, etc; there are more than 40 of them.
|
||||||
|
|
||||||
|
With all these new widgets, you can introduce new interaction techniques into
|
||||||
|
applications, creating more useful and more intuitive user interfaces. You can
|
||||||
|
design your application by choosing the most appropriate widgets to match the
|
||||||
|
special needs of your application and users.
|
||||||
|
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
`Tix Homepage <http://tix.sourceforge.net/>`_
|
||||||
|
The home page for :mod:`Tix`. This includes links to additional documentation
|
||||||
|
and downloads.
|
||||||
|
|
||||||
|
`Tix Man Pages <http://tix.sourceforge.net/dist/current/man/>`_
|
||||||
|
On-line version of the man pages and reference material.
|
||||||
|
|
||||||
|
`Tix Programming Guide <http://tix.sourceforge.net/dist/current/docs/tix-book/tix.book.html>`_
|
||||||
|
On-line version of the programmer's reference material.
|
||||||
|
|
||||||
|
`Tix Development Applications <http://tix.sourceforge.net/Tide/>`_
|
||||||
|
Tix applications for development of Tix and Tkinter programs. Tide applications
|
||||||
|
work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to
|
||||||
|
remotely modify and debug Tix/Tk/Tkinter applications.
|
||||||
|
|
||||||
|
|
||||||
|
Using Tix
|
||||||
|
---------
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Tix(screenName[, baseName[, className]])
|
||||||
|
|
||||||
|
Toplevel widget of Tix which represents mostly the main window of an
|
||||||
|
application. It has an associated Tcl interpreter.
|
||||||
|
|
||||||
|
Classes in the :mod:`Tix` module subclasses the classes in the :mod:`Tkinter`
|
||||||
|
module. The former imports the latter, so to use :mod:`Tix` with Tkinter, all
|
||||||
|
you need to do is to import one module. In general, you can just import
|
||||||
|
:mod:`Tix`, and replace the toplevel call to :class:`Tkinter.Tk` with
|
||||||
|
:class:`Tix.Tk`::
|
||||||
|
|
||||||
|
import Tix
|
||||||
|
from Tkconstants import *
|
||||||
|
root = Tix.Tk()
|
||||||
|
|
||||||
|
To use :mod:`Tix`, you must have the :mod:`Tix` widgets installed, usually
|
||||||
|
alongside your installation of the Tk widgets. To test your installation, try
|
||||||
|
the following::
|
||||||
|
|
||||||
|
import Tix
|
||||||
|
root = Tix.Tk()
|
||||||
|
root.tk.eval('package require Tix')
|
||||||
|
|
||||||
|
If this fails, you have a Tk installation problem which must be resolved before
|
||||||
|
proceeding. Use the environment variable :envvar:`TIX_LIBRARY` to point to the
|
||||||
|
installed :mod:`Tix` library directory, and make sure you have the dynamic
|
||||||
|
object library (:file:`tix8183.dll` or :file:`libtix8183.so`) in the same
|
||||||
|
directory that contains your Tk dynamic object library (:file:`tk8183.dll` or
|
||||||
|
:file:`libtk8183.so`). The directory with the dynamic object library should also
|
||||||
|
have a file called :file:`pkgIndex.tcl` (case sensitive), which contains the
|
||||||
|
line::
|
||||||
|
|
||||||
|
package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]
|
||||||
|
|
||||||
|
.. % $ <-- bow to font-lock
|
||||||
|
|
||||||
|
|
||||||
|
Tix Widgets
|
||||||
|
-----------
|
||||||
|
|
||||||
|
`Tix <http://tix.sourceforge.net/dist/current/man/html/TixCmd/TixIntro.htm>`_
|
||||||
|
introduces over 40 widget classes to the :mod:`Tkinter` repertoire. There is a
|
||||||
|
demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the
|
||||||
|
standard distribution.
|
||||||
|
|
||||||
|
.. % The Python sample code is still being added to Python, hence commented out
|
||||||
|
|
||||||
|
|
||||||
|
Basic Widgets
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Balloon()
|
||||||
|
|
||||||
|
A `Balloon
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixBalloon.htm>`_ that
|
||||||
|
pops up over a widget to provide help. When the user moves the cursor inside a
|
||||||
|
widget to which a Balloon widget has been bound, a small pop-up window with a
|
||||||
|
descriptive message will be shown on the screen.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ButtonBox()
|
||||||
|
|
||||||
|
The `ButtonBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm>`_
|
||||||
|
widget creates a box of buttons, such as is commonly used for ``Ok Cancel``.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ComboBox()
|
||||||
|
|
||||||
|
The `ComboBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm>`_
|
||||||
|
widget is similar to the combo box control in MS Windows. The user can select a
|
||||||
|
choice by either typing in the entry subwdget or selecting from the listbox
|
||||||
|
subwidget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Control()
|
||||||
|
|
||||||
|
The `Control
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixControl.htm>`_
|
||||||
|
widget is also known as the :class:`SpinBox` widget. The user can adjust the
|
||||||
|
value by pressing the two arrow buttons or by entering the value directly into
|
||||||
|
the entry. The new value will be checked against the user-defined upper and
|
||||||
|
lower limits.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: LabelEntry()
|
||||||
|
|
||||||
|
The `LabelEntry
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm>`_
|
||||||
|
widget packages an entry widget and a label into one mega widget. It can be used
|
||||||
|
be used to simplify the creation of "entry-form" type of interface.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: LabelFrame()
|
||||||
|
|
||||||
|
The `LabelFrame
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelFrame.htm>`_
|
||||||
|
widget packages a frame widget and a label into one mega widget. To create
|
||||||
|
widgets inside a LabelFrame widget, one creates the new widgets relative to the
|
||||||
|
:attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Meter()
|
||||||
|
|
||||||
|
The `Meter
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixMeter.htm>`_ widget
|
||||||
|
can be used to show the progress of a background job which may take a long time
|
||||||
|
to execute.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: OptionMenu()
|
||||||
|
|
||||||
|
The `OptionMenu
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm>`_
|
||||||
|
creates a menu button of options.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: PopupMenu()
|
||||||
|
|
||||||
|
The `PopupMenu
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm>`_
|
||||||
|
widget can be used as a replacement of the ``tk_popup`` command. The advantage
|
||||||
|
of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code
|
||||||
|
to manipulate.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Select()
|
||||||
|
|
||||||
|
The `Select
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixSelect.htm>`_ widget
|
||||||
|
is a container of button subwidgets. It can be used to provide radio-box or
|
||||||
|
check-box style of selection options for the user.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: StdButtonBox()
|
||||||
|
|
||||||
|
The `StdButtonBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm>`_
|
||||||
|
widget is a group of standard buttons for Motif-like dialog boxes.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
File Selectors
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirList()
|
||||||
|
|
||||||
|
The `DirList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirList.htm>`_
|
||||||
|
widget displays a list view of a directory, its previous directories and its
|
||||||
|
sub-directories. The user can choose one of the directories displayed in the
|
||||||
|
list or change to another directory.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirTree()
|
||||||
|
|
||||||
|
The `DirTree
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirTree.htm>`_
|
||||||
|
widget displays a tree view of a directory, its previous directories and its
|
||||||
|
sub-directories. The user can choose one of the directories displayed in the
|
||||||
|
list or change to another directory.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirSelectDialog()
|
||||||
|
|
||||||
|
The `DirSelectDialog
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirSelectDialog.htm>`_
|
||||||
|
widget presents the directories in the file system in a dialog window. The user
|
||||||
|
can use this dialog window to navigate through the file system to select the
|
||||||
|
desired directory.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirSelectBox()
|
||||||
|
|
||||||
|
The :class:`DirSelectBox` is similar to the standard Motif(TM) directory-
|
||||||
|
selection box. It is generally used for the user to choose a directory.
|
||||||
|
DirSelectBox stores the directories mostly recently selected into a ComboBox
|
||||||
|
widget so that they can be quickly selected again.
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ExFileSelectBox()
|
||||||
|
|
||||||
|
The `ExFileSelectBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixExFileSelectBox.htm>`_
|
||||||
|
widget is usually embedded in a tixExFileSelectDialog widget. It provides an
|
||||||
|
convenient method for the user to select files. The style of the
|
||||||
|
:class:`ExFileSelectBox` widget is very similar to the standard file dialog on
|
||||||
|
MS Windows 3.1.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: FileSelectBox()
|
||||||
|
|
||||||
|
The `FileSelectBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileSelectBox.htm>`_
|
||||||
|
is similar to the standard Motif(TM) file-selection box. It is generally used
|
||||||
|
for the user to choose a file. FileSelectBox stores the files mostly recently
|
||||||
|
selected into a :class:`ComboBox` widget so that they can be quickly selected
|
||||||
|
again.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: FileEntry()
|
||||||
|
|
||||||
|
The `FileEntry
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileEntry.htm>`_
|
||||||
|
widget can be used to input a filename. The user can type in the filename
|
||||||
|
manually. Alternatively, the user can press the button widget that sits next to
|
||||||
|
the entry, which will bring up a file selection dialog.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Hierachical ListBox
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: HList()
|
||||||
|
|
||||||
|
The `HList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixHList.htm>`_ widget
|
||||||
|
can be used to display any data that have a hierarchical structure, for example,
|
||||||
|
file system directory trees. The list entries are indented and connected by
|
||||||
|
branch lines according to their places in the hierarchy.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: CheckList()
|
||||||
|
|
||||||
|
The `CheckList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixCheckList.htm>`_
|
||||||
|
widget displays a list of items to be selected by the user. CheckList acts
|
||||||
|
similarly to the Tk checkbutton or radiobutton widgets, except it is capable of
|
||||||
|
handling many more items than checkbuttons or radiobuttons.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Tree()
|
||||||
|
|
||||||
|
The `Tree
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm>`_ widget
|
||||||
|
can be used to display hierarchical data in a tree form. The user can adjust the
|
||||||
|
view of the tree by opening or closing parts of the tree.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Tabular ListBox
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: TList()
|
||||||
|
|
||||||
|
The `TList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTList.htm>`_ widget
|
||||||
|
can be used to display data in a tabular format. The list entries of a
|
||||||
|
:class:`TList` widget are similar to the entries in the Tk listbox widget. The
|
||||||
|
main differences are (1) the :class:`TList` widget can display the list entries
|
||||||
|
in a two dimensional format and (2) you can use graphical images as well as
|
||||||
|
multiple colors and fonts for the list entries.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl}
|
||||||
|
.. % Grid has yet to be added to Python
|
||||||
|
.. % \subsubsection{Grid Widget}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Manager Widgets
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: PanedWindow()
|
||||||
|
|
||||||
|
The `PanedWindow
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPanedWindow.htm>`_
|
||||||
|
widget allows the user to interactively manipulate the sizes of several panes.
|
||||||
|
The panes can be arranged either vertically or horizontally. The user changes
|
||||||
|
the sizes of the panes by dragging the resize handle between two panes.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ListNoteBook()
|
||||||
|
|
||||||
|
The `ListNoteBook
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm>`_
|
||||||
|
widget is very similar to the :class:`TixNoteBook` widget: it can be used to
|
||||||
|
display many windows in a limited space using a notebook metaphor. The notebook
|
||||||
|
is divided into a stack of pages (windows). At one time only one of these pages
|
||||||
|
can be shown. The user can navigate through these pages by choosing the name of
|
||||||
|
the desired page in the :attr:`hlist` subwidget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: NoteBook()
|
||||||
|
|
||||||
|
The `NoteBook
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixNoteBook.htm>`_
|
||||||
|
widget can be used to display many windows in a limited space using a notebook
|
||||||
|
metaphor. The notebook is divided into a stack of pages. At one time only one of
|
||||||
|
these pages can be shown. The user can navigate through these pages by choosing
|
||||||
|
the visual "tabs" at the top of the NoteBook widget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl}
|
||||||
|
|
||||||
|
.. % \subsubsection{Scrolled Widgets}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Image Types
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
The :mod:`Tix` module adds:
|
||||||
|
|
||||||
|
* `pixmap <http://tix.sourceforge.net/dist/current/man/html/TixCmd/pixmap.htm>`_
|
||||||
|
capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images
|
||||||
|
from XPM files.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl}
|
||||||
|
|
||||||
|
* `Compound
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/compound.htm>`_ image
|
||||||
|
types can be used to create images that consists of multiple horizontal lines;
|
||||||
|
each line is composed of a series of items (texts, bitmaps, images or spaces)
|
||||||
|
arranged from left to right. For example, a compound image can be used to
|
||||||
|
display a bitmap and a text string simultaneously in a Tk :class:`Button`
|
||||||
|
widget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Miscellaneous Widgets
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: InputOnly()
|
||||||
|
|
||||||
|
The `InputOnly
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixInputOnly.htm>`_
|
||||||
|
widgets are to accept inputs from the user, which can be done with the ``bind``
|
||||||
|
command (Unix only).
|
||||||
|
|
||||||
|
|
||||||
|
Form Geometry Manager
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
In addition, :mod:`Tix` augments :mod:`Tkinter` by providing:
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Form()
|
||||||
|
|
||||||
|
The `Form
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixForm.htm>`_ geometry
|
||||||
|
manager based on attachment rules for all Tk widgets.
|
||||||
|
|
||||||
|
.. % begin{latexonly}
|
||||||
|
.. % \subsection{Tix Class Structure}
|
||||||
|
.. %
|
||||||
|
.. % \begin{figure}[hbtp]
|
||||||
|
.. % \centerline{\epsfig{file=hierarchy.png,width=.9\textwidth}}
|
||||||
|
.. % \vspace{.5cm}
|
||||||
|
.. % \caption{The Class Hierarchy of Tix Widgets}
|
||||||
|
.. % \end{figure}
|
||||||
|
.. % end{latexonly}
|
||||||
|
|
||||||
|
|
||||||
|
Tix Commands
|
||||||
|
------------
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: tixCommand()
|
||||||
|
|
||||||
|
The `tix commands
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tix.htm>`_ provide
|
||||||
|
access to miscellaneous elements of :mod:`Tix`'s internal state and the
|
||||||
|
:mod:`Tix` application context. Most of the information manipulated by these
|
||||||
|
methods pertains to the application as a whole, or to a screen or display,
|
||||||
|
rather than to a particular window.
|
||||||
|
|
||||||
|
To view the current settings, the common usage is::
|
||||||
|
|
||||||
|
import Tix
|
||||||
|
root = Tix.Tk()
|
||||||
|
print root.tix_configure()
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_configure([cnf,] **kw)
|
||||||
|
|
||||||
|
Query or modify the configuration options of the Tix application context. If no
|
||||||
|
option is specified, returns a dictionary all of the available options. If
|
||||||
|
option is specified with no value, then the method returns a list describing the
|
||||||
|
one named option (this list will be identical to the corresponding sublist of
|
||||||
|
the value returned if no option is specified). If one or more option-value
|
||||||
|
pairs are specified, then the method modifies the given option(s) to have the
|
||||||
|
given value(s); in this case the method returns an empty string. Option may be
|
||||||
|
any of the configuration options.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_cget(option)
|
||||||
|
|
||||||
|
Returns the current value of the configuration option given by *option*. Option
|
||||||
|
may be any of the configuration options.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_getbitmap(name)
|
||||||
|
|
||||||
|
Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap
|
||||||
|
directories (see the :meth:`tix_addbitmapdir` method). By using
|
||||||
|
:meth:`tix_getbitmap`, you can avoid hard coding the pathnames of the bitmap
|
||||||
|
files in your application. When successful, it returns the complete pathname of
|
||||||
|
the bitmap file, prefixed with the character ``@``. The returned value can be
|
||||||
|
used to configure the ``bitmap`` option of the Tk and Tix widgets.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_addbitmapdir(directory)
|
||||||
|
|
||||||
|
Tix maintains a list of directories under which the :meth:`tix_getimage` and
|
||||||
|
:meth:`tix_getbitmap` methods will search for image files. The standard bitmap
|
||||||
|
directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method
|
||||||
|
adds *directory* into this list. By using this method, the image files of an
|
||||||
|
applications can also be located using the :meth:`tix_getimage` or
|
||||||
|
:meth:`tix_getbitmap` method.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_filedialog([dlgclass])
|
||||||
|
|
||||||
|
Returns the file selection dialog that may be shared among different calls from
|
||||||
|
this application. This method will create a file selection dialog widget when
|
||||||
|
it is called the first time. This dialog will be returned by all subsequent
|
||||||
|
calls to :meth:`tix_filedialog`. An optional dlgclass parameter can be passed
|
||||||
|
as a string to specified what type of file selection dialog widget is desired.
|
||||||
|
Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_getimage(self, name)
|
||||||
|
|
||||||
|
Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or
|
||||||
|
:file:`name.ppm` in one of the bitmap directories (see the
|
||||||
|
:meth:`tix_addbitmapdir` method above). If more than one file with the same name
|
||||||
|
(but different extensions) exist, then the image type is chosen according to the
|
||||||
|
depth of the X display: xbm images are chosen on monochrome displays and color
|
||||||
|
images are chosen on color displays. By using :meth:`tix_getimage`, you can
|
||||||
|
avoid hard coding the pathnames of the image files in your application. When
|
||||||
|
successful, this method returns the name of the newly created image, which can
|
||||||
|
be used to configure the ``image`` option of the Tk and Tix widgets.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_option_get(name)
|
||||||
|
|
||||||
|
Gets the options maintained by the Tix scheme mechanism.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])
|
||||||
|
|
||||||
|
Resets the scheme and fontset of the Tix application to *newScheme* and
|
||||||
|
*newFontSet*, respectively. This affects only those widgets created after this
|
||||||
|
call. Therefore, it is best to call the resetoptions method before the creation
|
||||||
|
of any widgets in a Tix application.
|
||||||
|
|
||||||
|
The optional parameter *newScmPrio* can be given to reset the priority level of
|
||||||
|
the Tk options set by the Tix schemes.
|
||||||
|
|
||||||
|
Because of the way Tk handles the X option database, after Tix has been has
|
||||||
|
imported and inited, it is not possible to reset the color schemes and font sets
|
||||||
|
using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions`
|
||||||
|
method must be used.
|
40
Doc-26/library/tk.rst
Normal file
40
Doc-26/library/tk.rst
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
.. _tkinter:
|
||||||
|
|
||||||
|
*********************************
|
||||||
|
Graphical User Interfaces with Tk
|
||||||
|
*********************************
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: GUI
|
||||||
|
single: Graphical User Interface
|
||||||
|
single: Tkinter
|
||||||
|
single: 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 :mod:`Tkinter` module, and its extension, the :mod:`Tix` module.
|
||||||
|
|
||||||
|
The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To
|
||||||
|
use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to
|
||||||
|
consult the Tk documentation, and occasionally the Tcl documentation.
|
||||||
|
:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python
|
||||||
|
classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe
|
||||||
|
mechanism which allows Python and Tcl to interact.
|
||||||
|
|
||||||
|
Tk is not the only GUI for Python; see section :ref:`other-gui-packages` for
|
||||||
|
more information on other GUI toolkits for Python.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
tkinter.rst
|
||||||
|
tix.rst
|
||||||
|
scrolledtext.rst
|
||||||
|
turtle.rst
|
||||||
|
idle.rst
|
||||||
|
othergui.rst
|
||||||
|
|
||||||
|
.. % Other sections I have in mind are
|
||||||
|
.. % Tkinter internals
|
||||||
|
.. % Freezing Tkinter applications
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -108,7 +108,7 @@ essentially useless.
|
|||||||
The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`.
|
The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`.
|
||||||
|
|
||||||
|
|
||||||
.. _dom-objects:
|
.. _minidom-objects:
|
||||||
|
|
||||||
DOM Objects
|
DOM Objects
|
||||||
-----------
|
-----------
|
||||||
|
@ -272,7 +272,7 @@ Before an except clause's suite is executed, details about the exception are
|
|||||||
assigned to three variables in the :mod:`sys` module: ``sys.exc_type`` receives
|
assigned to three variables in the :mod:`sys` module: ``sys.exc_type`` receives
|
||||||
the object identifying the exception; ``sys.exc_value`` receives the exception's
|
the object identifying the exception; ``sys.exc_value`` receives the exception's
|
||||||
parameter; ``sys.exc_traceback`` receives a traceback object (see section
|
parameter; ``sys.exc_traceback`` receives a traceback object (see section
|
||||||
:ref:`traceback`) identifying the point in the program where the exception
|
:ref:`types`) identifying the point in the program where the exception
|
||||||
occurred. These details are also available through the :func:`sys.exc_info`
|
occurred. These details are also available through the :func:`sys.exc_info`
|
||||||
function, which returns a tuple ``(exc_type, exc_value, exc_traceback)``. Use
|
function, which returns a tuple ``(exc_type, exc_value, exc_traceback)``. Use
|
||||||
of the corresponding variables is deprecated in favor of this function, since
|
of the corresponding variables is deprecated in favor of this function, since
|
||||||
|
@ -988,8 +988,6 @@ Internal types
|
|||||||
can implement a Jump command (aka Set Next Statement) by writing to f_lineno.
|
can implement a Jump command (aka Set Next Statement) by writing to f_lineno.
|
||||||
|
|
||||||
Traceback objects
|
Traceback objects
|
||||||
.. _traceback:
|
|
||||||
|
|
||||||
.. index::
|
.. index::
|
||||||
object: traceback
|
object: traceback
|
||||||
pair: stack; trace
|
pair: stack; trace
|
||||||
|
@ -563,7 +563,7 @@ constructor is used as the exception value.
|
|||||||
.. index:: object: traceback
|
.. index:: object: traceback
|
||||||
|
|
||||||
If a third object is present and not ``None``, it must be a traceback object
|
If a third object is present and not ``None``, it must be a traceback object
|
||||||
(see section :ref:`traceback`), and it is substituted instead of the current
|
(see section :ref:`types`), and it is substituted instead of the current
|
||||||
location as the place where the exception occurred. If the third object is
|
location as the place where the exception occurred. If the third object is
|
||||||
present and not a traceback object or ``None``, a :exc:`TypeError` exception is
|
present and not a traceback object or ``None``, a :exc:`TypeError` exception is
|
||||||
raised. The three-expression form of :keyword:`raise` is useful to re-raise an
|
raised. The three-expression form of :keyword:`raise` is useful to re-raise an
|
||||||
|
@ -2,7 +2,6 @@ To do after conversion
|
|||||||
======================
|
======================
|
||||||
|
|
||||||
* fix all references and links marked with `XXX`
|
* fix all references and links marked with `XXX`
|
||||||
* fix all duplicate labels and undefined label references
|
|
||||||
* split very large files and add toctrees
|
* split very large files and add toctrees
|
||||||
* integrate standalone HOWTOs
|
* integrate standalone HOWTOs
|
||||||
* find out which files get "comments disabled" metadata
|
* find out which files get "comments disabled" metadata
|
||||||
|
@ -3051,7 +3051,7 @@ Slice Objects
|
|||||||
.. versionadded:: 2.3
|
.. versionadded:: 2.3
|
||||||
|
|
||||||
|
|
||||||
.. _weakref-objects:
|
.. _weakrefobjects:
|
||||||
|
|
||||||
Weak Reference Objects
|
Weak Reference Objects
|
||||||
----------------------
|
----------------------
|
||||||
@ -3285,7 +3285,7 @@ than explicitly calling :cfunc:`PyGen_New`.
|
|||||||
*NULL*.
|
*NULL*.
|
||||||
|
|
||||||
|
|
||||||
.. _datetime-objects:
|
.. _datetimeobjects:
|
||||||
|
|
||||||
DateTime Objects
|
DateTime Objects
|
||||||
----------------
|
----------------
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
.. highlightlang:: c
|
.. highlightlang:: c
|
||||||
|
|
||||||
|
|
||||||
.. _intro:
|
.. _api-intro:
|
||||||
|
|
||||||
************
|
************
|
||||||
Introduction
|
Introduction
|
||||||
@ -30,7 +30,7 @@ familiar with writing an extension before attempting to embed Python in a real
|
|||||||
application.
|
application.
|
||||||
|
|
||||||
|
|
||||||
.. _includes:
|
.. _api-includes:
|
||||||
|
|
||||||
Include Files
|
Include Files
|
||||||
=============
|
=============
|
||||||
@ -80,7 +80,7 @@ header files do properly declare the entry points to be ``extern "C"``, so there
|
|||||||
is no need to do anything special to use the API from C++.
|
is no need to do anything special to use the API from C++.
|
||||||
|
|
||||||
|
|
||||||
.. _objects:
|
.. _api-objects:
|
||||||
|
|
||||||
Objects, Types and Reference Counts
|
Objects, Types and Reference Counts
|
||||||
===================================
|
===================================
|
||||||
@ -107,7 +107,7 @@ that type; for instance, ``PyList_Check(a)`` is true if (and only if) the object
|
|||||||
pointed to by *a* is a Python list.
|
pointed to by *a* is a Python list.
|
||||||
|
|
||||||
|
|
||||||
.. _refcounts:
|
.. _api-refcounts:
|
||||||
|
|
||||||
Reference Counts
|
Reference Counts
|
||||||
----------------
|
----------------
|
||||||
@ -170,7 +170,7 @@ This leaves the caller with the responsibility to call :cfunc:`Py_DECREF` when
|
|||||||
they are done with the result; this soon becomes second nature.
|
they are done with the result; this soon becomes second nature.
|
||||||
|
|
||||||
|
|
||||||
.. _refcountdetails:
|
.. _api-refcountdetails:
|
||||||
|
|
||||||
Reference Count Details
|
Reference Count Details
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@ -335,7 +335,7 @@ using :cfunc:`PySequence_GetItem`. ::
|
|||||||
.. index:: single: sum_sequence()
|
.. index:: single: sum_sequence()
|
||||||
|
|
||||||
|
|
||||||
.. _types:
|
.. _api-types:
|
||||||
|
|
||||||
Types
|
Types
|
||||||
-----
|
-----
|
||||||
@ -349,7 +349,7 @@ of a complex number. These will be discussed together with the functions that
|
|||||||
use them.
|
use them.
|
||||||
|
|
||||||
|
|
||||||
.. _exceptions:
|
.. _api-exceptions:
|
||||||
|
|
||||||
Exceptions
|
Exceptions
|
||||||
==========
|
==========
|
||||||
@ -496,7 +496,7 @@ return value is initialized to ``-1`` (failure) and only set to success after
|
|||||||
the final call made is successful.
|
the final call made is successful.
|
||||||
|
|
||||||
|
|
||||||
.. _embedding:
|
.. _api-embedding:
|
||||||
|
|
||||||
Embedding Python
|
Embedding Python
|
||||||
================
|
================
|
||||||
@ -520,8 +520,6 @@ the table of loaded modules, and creates the fundamental modules
|
|||||||
:mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also
|
:mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also
|
||||||
initializes the module search path (``sys.path``).
|
initializes the module search path (``sys.path``).
|
||||||
|
|
||||||
.. %
|
|
||||||
|
|
||||||
.. index:: single: PySys_SetArgv()
|
.. index:: single: PySys_SetArgv()
|
||||||
|
|
||||||
:cfunc:`Py_Initialize` does not set the "script argument list" (``sys.argv``).
|
:cfunc:`Py_Initialize` does not set the "script argument list" (``sys.argv``).
|
||||||
@ -574,7 +572,7 @@ does *not* free all memory allocated by the Python interpreter, e.g. memory
|
|||||||
allocated by extension modules currently cannot be released.
|
allocated by extension modules currently cannot be released.
|
||||||
|
|
||||||
|
|
||||||
.. _debugging:
|
.. _api-debugging:
|
||||||
|
|
||||||
Debugging Builds
|
Debugging Builds
|
||||||
================
|
================
|
||||||
|
@ -34,6 +34,7 @@ unused_files = [
|
|||||||
'whatsnew/2.6.rst',
|
'whatsnew/2.6.rst',
|
||||||
'maclib/scrap.rst',
|
'maclib/scrap.rst',
|
||||||
'library/xmllib.rst',
|
'library/xmllib.rst',
|
||||||
|
'library/xml.etree.rst',
|
||||||
]
|
]
|
||||||
|
|
||||||
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
|
||||||
|
@ -1415,7 +1415,118 @@ platform-specific functions for launching another program in a sub-process.
|
|||||||
Also provides :func:`find_executable` to search the path for a given executable
|
Also provides :func:`find_executable` to search the path for a given executable
|
||||||
name.
|
name.
|
||||||
|
|
||||||
XXX: input{sysconfig} :XXX
|
|
||||||
|
:mod:`distutils.sysconfig` --- System configuration information
|
||||||
|
===============================================================
|
||||||
|
|
||||||
|
.. module:: distutils.sysconfig
|
||||||
|
:synopsis: Low-level access to configuration information of the Python interpreter.
|
||||||
|
.. moduleauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
||||||
|
.. moduleauthor:: Greg Ward <gward@python.net>
|
||||||
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
||||||
|
|
||||||
|
|
||||||
|
The :mod:`distutils.sysconfig` module provides access to Python's low-level
|
||||||
|
configuration information. The specific configuration variables available
|
||||||
|
depend heavily on the platform and configuration. The specific variables depend
|
||||||
|
on the build process for the specific version of Python being run; the variables
|
||||||
|
are those found in the :file:`Makefile` and configuration header that are
|
||||||
|
installed with Python on Unix systems. The configuration header is called
|
||||||
|
:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h`
|
||||||
|
for earlier versions of Python.
|
||||||
|
|
||||||
|
Some additional functions are provided which perform some useful manipulations
|
||||||
|
for other parts of the :mod:`distutils` package.
|
||||||
|
|
||||||
|
|
||||||
|
.. data:: PREFIX
|
||||||
|
|
||||||
|
The result of ``os.path.normpath(sys.prefix)``.
|
||||||
|
|
||||||
|
|
||||||
|
.. data:: EXEC_PREFIX
|
||||||
|
|
||||||
|
The result of ``os.path.normpath(sys.exec_prefix)``.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_config_var(name)
|
||||||
|
|
||||||
|
Return the value of a single variable. This is equivalent to
|
||||||
|
``get_config_vars().get(name)``.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_config_vars(...)
|
||||||
|
|
||||||
|
Return a set of variable definitions. If there are no arguments, this returns a
|
||||||
|
dictionary mapping names of configuration variables to values. If arguments are
|
||||||
|
provided, they should be strings, and the return value will be a sequence giving
|
||||||
|
the associated values. If a given name does not have a corresponding value,
|
||||||
|
``None`` will be included for that variable.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_config_h_filename()
|
||||||
|
|
||||||
|
Return the full path name of the configuration header. For Unix, this will be
|
||||||
|
the header generated by the :program:`configure` script; for other platforms the
|
||||||
|
header will have been supplied directly by the Python source distribution. The
|
||||||
|
file is a platform-specific text file.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_makefile_filename()
|
||||||
|
|
||||||
|
Return the full path name of the :file:`Makefile` used to build Python. For
|
||||||
|
Unix, this will be a file generated by the :program:`configure` script; the
|
||||||
|
meaning for other platforms will vary. The file is a platform-specific text
|
||||||
|
file, if it exists. This function is only useful on POSIX platforms.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_python_inc([plat_specific[, prefix]])
|
||||||
|
|
||||||
|
Return the directory for either the general or platform-dependent C include
|
||||||
|
files. If *plat_specific* is true, the platform-dependent include directory is
|
||||||
|
returned; if false or omitted, the platform-independent directory is returned.
|
||||||
|
If *prefix* is given, it is used as either the prefix instead of
|
||||||
|
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
||||||
|
*plat_specific* is true.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]])
|
||||||
|
|
||||||
|
Return the directory for either the general or platform-dependent library
|
||||||
|
installation. If *plat_specific* is true, the platform-dependent include
|
||||||
|
directory is returned; if false or omitted, the platform-independent directory
|
||||||
|
is returned. If *prefix* is given, it is used as either the prefix instead of
|
||||||
|
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
||||||
|
*plat_specific* is true. If *standard_lib* is true, the directory for the
|
||||||
|
standard library is returned rather than the directory for the installation of
|
||||||
|
third-party extensions.
|
||||||
|
|
||||||
|
The following function is only intended for use within the :mod:`distutils`
|
||||||
|
package.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: customize_compiler(compiler)
|
||||||
|
|
||||||
|
Do any platform-specific customization of a
|
||||||
|
:class:`distutils.ccompiler.CCompiler` instance.
|
||||||
|
|
||||||
|
This function is only needed on Unix at this time, but should be called
|
||||||
|
consistently to support forward-compatibility. It inserts the information that
|
||||||
|
varies across Unix flavors and is stored in Python's :file:`Makefile`. This
|
||||||
|
information includes the selected compiler, compiler and linker options, and the
|
||||||
|
extension used by the linker for shared objects.
|
||||||
|
|
||||||
|
This function is even more special-purpose, and should only be used from
|
||||||
|
Python's own build procedures.
|
||||||
|
|
||||||
|
|
||||||
|
.. function:: set_python_build()
|
||||||
|
|
||||||
|
Inform the :mod:`distutils.sysconfig` module that it is being used as part of
|
||||||
|
the build process for Python. This changes a lot of relative locations for
|
||||||
|
files, allowing them to be located in the build area rather than in an installed
|
||||||
|
Python.
|
||||||
|
|
||||||
|
|
||||||
:mod:`distutils.text_file` --- The TextFile class
|
:mod:`distutils.text_file` --- The TextFile class
|
||||||
=================================================
|
=================================================
|
||||||
@ -1870,20 +1981,3 @@ that command is always applicable.
|
|||||||
*sub_commands* is usually defined at the \*end\* of a class, because predicates
|
*sub_commands* is usually defined at the \*end\* of a class, because predicates
|
||||||
can be unbound methods, so they must already have been defined. The canonical
|
can be unbound methods, so they must already have been defined. The canonical
|
||||||
example is the :command:`install` command.
|
example is the :command:`install` command.
|
||||||
|
|
||||||
.. %
|
|
||||||
.. % The ugly "%begin{latexonly}" pseudo-environments are really just to
|
|
||||||
.. % keep LaTeX2HTML quiet during the \renewcommand{} macros; they're
|
|
||||||
.. % not really valuable.
|
|
||||||
.. %
|
|
||||||
.. % begin{latexonly}
|
|
||||||
.. % end{latexonly}
|
|
||||||
|
|
||||||
XXX: input{moddist.ind} :XXX
|
|
||||||
.. % Module Index
|
|
||||||
.. % begin{latexonly}
|
|
||||||
.. % end{latexonly}
|
|
||||||
|
|
||||||
XXX: input{dist.ind} :XXX
|
|
||||||
.. % Index
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.. _intro:
|
.. _distutils-intro:
|
||||||
|
|
||||||
****************************
|
****************************
|
||||||
An Introduction to Distutils
|
An Introduction to Distutils
|
||||||
@ -10,7 +10,7 @@ information on installing Python modules, you should refer to the Installing
|
|||||||
Python Modules (XXX reference: ../inst/inst.html) manual.
|
Python Modules (XXX reference: ../inst/inst.html) manual.
|
||||||
|
|
||||||
|
|
||||||
.. _concepts:
|
.. _distutils-concepts:
|
||||||
|
|
||||||
Concepts & Terminology
|
Concepts & Terminology
|
||||||
======================
|
======================
|
||||||
@ -41,7 +41,7 @@ their platform, without having to run a single setup script or compile a line of
|
|||||||
code.
|
code.
|
||||||
|
|
||||||
|
|
||||||
.. _simple-example:
|
.. _distutils-simple-example:
|
||||||
|
|
||||||
A Simple Example
|
A Simple Example
|
||||||
================
|
================
|
||||||
|
@ -8,7 +8,7 @@ The setup script is the centre of all activity in building, distributing, and
|
|||||||
installing modules using the Distutils. The main purpose of the setup script is
|
installing modules using the Distutils. The main purpose of the setup script is
|
||||||
to describe your module distribution to the Distutils, so that the various
|
to describe your module distribution to the Distutils, so that the various
|
||||||
commands that operate on your modules do the right thing. As we saw in section
|
commands that operate on your modules do the right thing. As we saw in section
|
||||||
:ref:`simple-example` above, the setup script consists mainly of a call to
|
:ref:`distutils-simple-example` above, the setup script consists mainly of a call to
|
||||||
:func:`setup`, and most information supplied to the Distutils by the module
|
:func:`setup`, and most information supplied to the Distutils by the module
|
||||||
developer is supplied as keyword arguments to :func:`setup`.
|
developer is supplied as keyword arguments to :func:`setup`.
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ the package into Python 1.5.2.) ::
|
|||||||
)
|
)
|
||||||
|
|
||||||
There are only two differences between this and the trivial one-file
|
There are only two differences between this and the trivial one-file
|
||||||
distribution presented in section :ref:`simple-example`: more metadata, and the
|
distribution presented in section :ref:`distutils-simple-example`: more metadata, and the
|
||||||
specification of pure Python modules by package, rather than by module. This is
|
specification of pure Python modules by package, rather than by module. This is
|
||||||
important since the Distutils consist of a couple of dozen modules split into
|
important since the Distutils consist of a couple of dozen modules split into
|
||||||
(so far) two packages; an explicit list of every module would be tedious to
|
(so far) two packages; an explicit list of every module would be tedious to
|
||||||
@ -114,7 +114,7 @@ Listing individual modules
|
|||||||
For a small module distribution, you might prefer to list all modules rather
|
For a small module distribution, you might prefer to list all modules rather
|
||||||
than listing packages---especially the case of a single module that goes in the
|
than listing packages---especially the case of a single module that goes in the
|
||||||
"root package" (i.e., no package at all). This simplest case was shown in
|
"root package" (i.e., no package at all). This simplest case was shown in
|
||||||
section :ref:`simple-example`; here is a slightly more involved example::
|
section :ref:`distutils-simple-example`; here is a slightly more involved example::
|
||||||
|
|
||||||
py_modules = ['mod1', 'pkg.mod2']
|
py_modules = ['mod1', 'pkg.mod2']
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
Creating a Source Distribution
|
Creating a Source Distribution
|
||||||
******************************
|
******************************
|
||||||
|
|
||||||
As shown in section :ref:`simple-example`, you use the :command:`sdist` command
|
As shown in section :ref:`distutils-simple-example`, you use the :command:`sdist` command
|
||||||
to create a source distribution. In the simplest case, ::
|
to create a source distribution. In the simplest case, ::
|
||||||
|
|
||||||
python setup.py sdist
|
python setup.py sdist
|
||||||
|
@ -1,112 +0,0 @@
|
|||||||
|
|
||||||
:mod:`distutils.sysconfig` --- System configuration information
|
|
||||||
===============================================================
|
|
||||||
|
|
||||||
.. module:: distutils.sysconfig
|
|
||||||
:synopsis: Low-level access to configuration information of the Python interpreter.
|
|
||||||
.. moduleauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
||||||
.. moduleauthor:: Greg Ward <gward@python.net>
|
|
||||||
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
|
||||||
|
|
||||||
|
|
||||||
The :mod:`distutils.sysconfig` module provides access to Python's low-level
|
|
||||||
configuration information. The specific configuration variables available
|
|
||||||
depend heavily on the platform and configuration. The specific variables depend
|
|
||||||
on the build process for the specific version of Python being run; the variables
|
|
||||||
are those found in the :file:`Makefile` and configuration header that are
|
|
||||||
installed with Python on Unix systems. The configuration header is called
|
|
||||||
:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h`
|
|
||||||
for earlier versions of Python.
|
|
||||||
|
|
||||||
Some additional functions are provided which perform some useful manipulations
|
|
||||||
for other parts of the :mod:`distutils` package.
|
|
||||||
|
|
||||||
|
|
||||||
.. data:: PREFIX
|
|
||||||
|
|
||||||
The result of ``os.path.normpath(sys.prefix)``.
|
|
||||||
|
|
||||||
|
|
||||||
.. data:: EXEC_PREFIX
|
|
||||||
|
|
||||||
The result of ``os.path.normpath(sys.exec_prefix)``.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_config_var(name)
|
|
||||||
|
|
||||||
Return the value of a single variable. This is equivalent to
|
|
||||||
``get_config_vars().get(name)``.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_config_vars(...)
|
|
||||||
|
|
||||||
Return a set of variable definitions. If there are no arguments, this returns a
|
|
||||||
dictionary mapping names of configuration variables to values. If arguments are
|
|
||||||
provided, they should be strings, and the return value will be a sequence giving
|
|
||||||
the associated values. If a given name does not have a corresponding value,
|
|
||||||
``None`` will be included for that variable.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_config_h_filename()
|
|
||||||
|
|
||||||
Return the full path name of the configuration header. For Unix, this will be
|
|
||||||
the header generated by the :program:`configure` script; for other platforms the
|
|
||||||
header will have been supplied directly by the Python source distribution. The
|
|
||||||
file is a platform-specific text file.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_makefile_filename()
|
|
||||||
|
|
||||||
Return the full path name of the :file:`Makefile` used to build Python. For
|
|
||||||
Unix, this will be a file generated by the :program:`configure` script; the
|
|
||||||
meaning for other platforms will vary. The file is a platform-specific text
|
|
||||||
file, if it exists. This function is only useful on POSIX platforms.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_python_inc([plat_specific[, prefix]])
|
|
||||||
|
|
||||||
Return the directory for either the general or platform-dependent C include
|
|
||||||
files. If *plat_specific* is true, the platform-dependent include directory is
|
|
||||||
returned; if false or omitted, the platform-independent directory is returned.
|
|
||||||
If *prefix* is given, it is used as either the prefix instead of
|
|
||||||
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
|
||||||
*plat_specific* is true.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]])
|
|
||||||
|
|
||||||
Return the directory for either the general or platform-dependent library
|
|
||||||
installation. If *plat_specific* is true, the platform-dependent include
|
|
||||||
directory is returned; if false or omitted, the platform-independent directory
|
|
||||||
is returned. If *prefix* is given, it is used as either the prefix instead of
|
|
||||||
:const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if
|
|
||||||
*plat_specific* is true. If *standard_lib* is true, the directory for the
|
|
||||||
standard library is returned rather than the directory for the installation of
|
|
||||||
third-party extensions.
|
|
||||||
|
|
||||||
The following function is only intended for use within the :mod:`distutils`
|
|
||||||
package.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: customize_compiler(compiler)
|
|
||||||
|
|
||||||
Do any platform-specific customization of a
|
|
||||||
:class:`distutils.ccompiler.CCompiler` instance.
|
|
||||||
|
|
||||||
This function is only needed on Unix at this time, but should be called
|
|
||||||
consistently to support forward-compatibility. It inserts the information that
|
|
||||||
varies across Unix flavors and is stored in Python's :file:`Makefile`. This
|
|
||||||
information includes the selected compiler, compiler and linker options, and the
|
|
||||||
extension used by the linker for shared objects.
|
|
||||||
|
|
||||||
This function is even more special-purpose, and should only be used from
|
|
||||||
Python's own build procedures.
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: set_python_build()
|
|
||||||
|
|
||||||
Inform the :mod:`distutils.sysconfig` module that it is being used as part of
|
|
||||||
the build process for Python. This changes a lot of relative locations for
|
|
||||||
files, allowing them to be located in the build area rather than in an installed
|
|
||||||
Python.
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
.. highlightlang:: c
|
.. highlightlang:: c
|
||||||
|
|
||||||
|
|
||||||
.. _intro:
|
.. _extending-intro:
|
||||||
|
|
||||||
******************************
|
******************************
|
||||||
Extending Python with C or C++
|
Extending Python with C or C++
|
||||||
@ -21,7 +21,7 @@ The compilation of an extension module depends on its intended use as well as on
|
|||||||
your system setup; details are given in later chapters.
|
your system setup; details are given in later chapters.
|
||||||
|
|
||||||
|
|
||||||
.. _simpleexample:
|
.. _extending-simpleexample:
|
||||||
|
|
||||||
A Simple Example
|
A Simple Example
|
||||||
================
|
================
|
||||||
@ -103,7 +103,7 @@ latter case it also raises an appropriate exception so the calling function can
|
|||||||
return *NULL* immediately (as we saw in the example).
|
return *NULL* immediately (as we saw in the example).
|
||||||
|
|
||||||
|
|
||||||
.. _errors:
|
.. _extending-errors:
|
||||||
|
|
||||||
Intermezzo: Errors and Exceptions
|
Intermezzo: Errors and Exceptions
|
||||||
=================================
|
=================================
|
||||||
@ -1107,8 +1107,8 @@ the module and retrieving its C API pointers; client modules only have to call
|
|||||||
this macro before accessing the C API.
|
this macro before accessing the C API.
|
||||||
|
|
||||||
The exporting module is a modification of the :mod:`spam` module from section
|
The exporting module is a modification of the :mod:`spam` module from section
|
||||||
:ref:`simpleexample`. The function :func:`spam.system` does not call the C
|
:ref:`extending-simpleexample`. The function :func:`spam.system` does not call
|
||||||
library function :cfunc:`system` directly, but a function
|
the C library function :cfunc:`system` directly, but a function
|
||||||
:cfunc:`PySpam_System`, which would of course do something more complicated in
|
:cfunc:`PySpam_System`, which would of course do something more complicated in
|
||||||
reality (such as adding "spam" to every command). This function
|
reality (such as adding "spam" to every command). This function
|
||||||
:cfunc:`PySpam_System` is also exported to other extension modules.
|
:cfunc:`PySpam_System` is also exported to other extension modules.
|
||||||
|
@ -17,7 +17,7 @@ operating system supports this feature.
|
|||||||
|
|
||||||
This document assumes basic knowledge about Python. For an informal
|
This document assumes basic knowledge about Python. For an informal
|
||||||
introduction to the language, see :ref:`tutorial-index`. :ref:`reference-index`
|
introduction to the language, see :ref:`tutorial-index`. :ref:`reference-index`
|
||||||
gives a more formal definition of the language. :ref:`modules-index` documents
|
gives a more formal definition of the language. :ref:`library-index` documents
|
||||||
the existing object types, functions and modules (both built-in and written in
|
the existing object types, functions and modules (both built-in and written in
|
||||||
Python) that give the language its wide application range.
|
Python) that give the language its wide application range.
|
||||||
|
|
||||||
|
@ -1,288 +0,0 @@
|
|||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| Node type | Attribute | Value |
|
|
||||||
+=======================+====================+=================================+
|
|
||||||
| :class:`Add` | :attr:`left` | left operand |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | right operand |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`And` | :attr:`nodes` | list of operands |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssAttr` | | *attribute as target of |
|
|
||||||
| | | assignment* |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | expression on the left-hand |
|
|
||||||
| | | side of the dot |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`attrname` | the attribute name, a string |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | XXX |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssList` | :attr:`nodes` | list of list elements being |
|
|
||||||
| | | assigned to |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssName` | :attr:`name` | name being assigned to |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | XXX |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AssTuple` | :attr:`nodes` | list of tuple elements being |
|
|
||||||
| | | assigned to |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Assert` | :attr:`test` | the expression to be tested |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`fail` | the value of the |
|
|
||||||
| | | :exc:`AssertionError` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Assign` | :attr:`nodes` | a list of assignment targets, |
|
|
||||||
| | | one per equal sign |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | the value being assigned |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`AugAssign` | :attr:`node` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`op` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Bitand` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Bitor` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Bitxor` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Break` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`CallFunc` | :attr:`node` | expression for the callee |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`args` | a list of arguments |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`star_args` | the extended \*-arg value |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`dstar_args` | the extended \*\*-arg value |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Class` | :attr:`name` | the name of the class, a string |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`bases` | a list of base classes |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`doc` | doc string, a string or |
|
|
||||||
| | | ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`code` | the body of the class statement |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Compare` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`ops` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Const` | :attr:`value` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Continue` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Decorators` | :attr:`nodes` | List of function decorator |
|
|
||||||
| | | expressions |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Dict` | :attr:`items` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Discard` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Div` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Ellipsis` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Expression` | :attr:`node` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Exec` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`locals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`globals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`FloorDiv` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`For` | :attr:`assign` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`list` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`From` | :attr:`modname` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`names` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Function` | :attr:`decorators` | :class:`Decorators` or ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`name` | name used in def, a string |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`argnames` | list of argument names, as |
|
|
||||||
| | | strings |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`defaults` | list of default values |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | xxx |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`doc` | doc string, a string or |
|
|
||||||
| | | ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`code` | the body of the function |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExpr` | :attr:`code` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExprFor` | :attr:`assign` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`iter` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`ifs` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExprIf` | :attr:`test` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`GenExprInner` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`quals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Getattr` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`attrname` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Global` | :attr:`names` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`If` | :attr:`tests` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Import` | :attr:`names` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Invert` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Keyword` | :attr:`name` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Lambda` | :attr:`argnames` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`defaults` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`code` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`LeftShift` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`List` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`ListComp` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`quals` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`ListCompFor` | :attr:`assign` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`list` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`ifs` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`ListCompIf` | :attr:`test` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Mod` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Module` | :attr:`doc` | doc string, a string or |
|
|
||||||
| | | ``None`` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`node` | body of the module, a |
|
|
||||||
| | | :class:`Stmt` |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Mul` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Name` | :attr:`name` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Not` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Or` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Pass` | | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Power` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Print` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`dest` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Printnl` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`dest` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Raise` | :attr:`expr1` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr2` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`expr3` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Return` | :attr:`value` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`RightShift` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Slice` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`lower` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`upper` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Sliceobj` | :attr:`nodes` | list of statements |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Stmt` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Sub` | :attr:`left` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`right` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Subscript` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`flags` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`subs` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`TryExcept` | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`handlers` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`TryFinally` | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`final` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Tuple` | :attr:`nodes` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`UnaryAdd` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`UnarySub` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`While` | :attr:`test` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`else_` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`With` | :attr:`expr` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`vars` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| | :attr:`body` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
| :class:`Yield` | :attr:`value` | |
|
|
||||||
+-----------------------+--------------------+---------------------------------+
|
|
||||||
|
|
@ -82,8 +82,6 @@ Functions provided:
|
|||||||
:meth:`__exit__` methods should avoid raising exceptions, and in particular they
|
:meth:`__exit__` methods should avoid raising exceptions, and in particular they
|
||||||
should not re-raise a passed-in exception.
|
should not re-raise a passed-in exception.
|
||||||
|
|
||||||
.. _context-closing:
|
|
||||||
|
|
||||||
|
|
||||||
.. function:: closing(thing)
|
.. function:: closing(thing)
|
||||||
|
|
||||||
|
@ -32,9 +32,8 @@ introduced with RFC 2965.
|
|||||||
:mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are
|
:mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are
|
||||||
conventionally referred to as :dfn:`attributes`. To distinguish them from
|
conventionally referred to as :dfn:`attributes`. To distinguish them from
|
||||||
Python attributes, the documentation for this module uses the term
|
Python attributes, the documentation for this module uses the term
|
||||||
:dfn:`cookie-attribute` instead
|
:dfn:`cookie-attribute` instead.
|
||||||
|
|
||||||
.
|
|
||||||
|
|
||||||
The module defines the following exception:
|
The module defines the following exception:
|
||||||
|
|
||||||
@ -47,9 +46,8 @@ The module defines the following exception:
|
|||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
For backwards-compatibility with Python 2.4 (which raised an :exc:`IOError`),
|
For backwards-compatibility with Python 2.4 (which raised an :exc:`IOError`),
|
||||||
:exc:`LoadError` is a subclass of :exc:`IOError`
|
:exc:`LoadError` is a subclass of :exc:`IOError`.
|
||||||
|
|
||||||
.
|
|
||||||
|
|
||||||
The following classes are provided:
|
The following classes are provided:
|
||||||
|
|
||||||
@ -601,7 +599,7 @@ combinations of the above flags:
|
|||||||
Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``.
|
Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``.
|
||||||
|
|
||||||
|
|
||||||
.. _cookie-objects:
|
.. _cookielib-cookie-objects:
|
||||||
|
|
||||||
Cookie Objects
|
Cookie Objects
|
||||||
--------------
|
--------------
|
||||||
|
288
Doc-3k/library/idle.rst
Normal file
288
Doc-3k/library/idle.rst
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
.. _idle:
|
||||||
|
|
||||||
|
Idle
|
||||||
|
====
|
||||||
|
|
||||||
|
.. moduleauthor:: Guido van Rossum <guido@Python.org>
|
||||||
|
|
||||||
|
|
||||||
|
.. % \declaremodule{standard}{idle}
|
||||||
|
.. % \modulesynopsis{A Python Integrated Development Environment}
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: Idle
|
||||||
|
single: Python Editor
|
||||||
|
single: Integrated Development Environment
|
||||||
|
|
||||||
|
Idle is the Python IDE built with the :mod:`Tkinter` GUI toolkit.
|
||||||
|
|
||||||
|
IDLE has the following features:
|
||||||
|
|
||||||
|
* coded in 100% pure Python, using the :mod:`Tkinter` GUI toolkit
|
||||||
|
|
||||||
|
* cross-platform: works on Windows and Unix (on Mac OS, there are currently
|
||||||
|
problems with Tcl/Tk)
|
||||||
|
|
||||||
|
* multi-window text editor with multiple undo, Python colorizing and many other
|
||||||
|
features, e.g. smart indent and call tips
|
||||||
|
|
||||||
|
* Python shell window (a.k.a. interactive interpreter)
|
||||||
|
|
||||||
|
* debugger (not complete, but you can set breakpoints, view and step)
|
||||||
|
|
||||||
|
|
||||||
|
Menus
|
||||||
|
-----
|
||||||
|
|
||||||
|
|
||||||
|
File menu
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
New window
|
||||||
|
create a new editing window
|
||||||
|
|
||||||
|
Open...
|
||||||
|
open an existing file
|
||||||
|
|
||||||
|
Open module...
|
||||||
|
open an existing module (searches sys.path)
|
||||||
|
|
||||||
|
Class browser
|
||||||
|
show classes and methods in current file
|
||||||
|
|
||||||
|
Path browser
|
||||||
|
show sys.path directories, modules, classes and methods
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: Class browser
|
||||||
|
single: Path browser
|
||||||
|
|
||||||
|
Save
|
||||||
|
save current window to the associated file (unsaved windows have a \* before and
|
||||||
|
after the window title)
|
||||||
|
|
||||||
|
Save As...
|
||||||
|
save current window to new file, which becomes the associated file
|
||||||
|
|
||||||
|
Save Copy As...
|
||||||
|
save current window to different file without changing the associated file
|
||||||
|
|
||||||
|
Close
|
||||||
|
close current window (asks to save if unsaved)
|
||||||
|
|
||||||
|
Exit
|
||||||
|
close all windows and quit IDLE (asks to save if unsaved)
|
||||||
|
|
||||||
|
|
||||||
|
Edit menu
|
||||||
|
^^^^^^^^^
|
||||||
|
|
||||||
|
Undo
|
||||||
|
Undo last change to current window (max 1000 changes)
|
||||||
|
|
||||||
|
Redo
|
||||||
|
Redo last undone change to current window
|
||||||
|
|
||||||
|
Cut
|
||||||
|
Copy selection into system-wide clipboard; then delete selection
|
||||||
|
|
||||||
|
Copy
|
||||||
|
Copy selection into system-wide clipboard
|
||||||
|
|
||||||
|
Paste
|
||||||
|
Insert system-wide clipboard into window
|
||||||
|
|
||||||
|
Select All
|
||||||
|
Select the entire contents of the edit buffer
|
||||||
|
|
||||||
|
Find...
|
||||||
|
Open a search dialog box with many options
|
||||||
|
|
||||||
|
Find again
|
||||||
|
Repeat last search
|
||||||
|
|
||||||
|
Find selection
|
||||||
|
Search for the string in the selection
|
||||||
|
|
||||||
|
Find in Files...
|
||||||
|
Open a search dialog box for searching files
|
||||||
|
|
||||||
|
Replace...
|
||||||
|
Open a search-and-replace dialog box
|
||||||
|
|
||||||
|
Go to line
|
||||||
|
Ask for a line number and show that line
|
||||||
|
|
||||||
|
Indent region
|
||||||
|
Shift selected lines right 4 spaces
|
||||||
|
|
||||||
|
Dedent region
|
||||||
|
Shift selected lines left 4 spaces
|
||||||
|
|
||||||
|
Comment out region
|
||||||
|
Insert ## in front of selected lines
|
||||||
|
|
||||||
|
Uncomment region
|
||||||
|
Remove leading # or ## from selected lines
|
||||||
|
|
||||||
|
Tabify region
|
||||||
|
Turns *leading* stretches of spaces into tabs
|
||||||
|
|
||||||
|
Untabify region
|
||||||
|
Turn *all* tabs into the right number of spaces
|
||||||
|
|
||||||
|
Expand word
|
||||||
|
Expand the word you have typed to match another word in the same buffer; repeat
|
||||||
|
to get a different expansion
|
||||||
|
|
||||||
|
Format Paragraph
|
||||||
|
Reformat the current blank-line-separated paragraph
|
||||||
|
|
||||||
|
Import module
|
||||||
|
Import or reload the current module
|
||||||
|
|
||||||
|
Run script
|
||||||
|
Execute the current file in the __main__ namespace
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: Import module
|
||||||
|
single: Run script
|
||||||
|
|
||||||
|
|
||||||
|
Windows menu
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Zoom Height
|
||||||
|
toggles the window between normal size (24x80) and maximum height.
|
||||||
|
|
||||||
|
The rest of this menu lists the names of all open windows; select one to bring
|
||||||
|
it to the foreground (deiconifying it if necessary).
|
||||||
|
|
||||||
|
|
||||||
|
Debug menu (in the Python Shell window only)
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Go to file/line
|
||||||
|
look around the insert point for a filename and linenumber, open the file, and
|
||||||
|
show the line.
|
||||||
|
|
||||||
|
Open stack viewer
|
||||||
|
show the stack traceback of the last exception
|
||||||
|
|
||||||
|
Debugger toggle
|
||||||
|
Run commands in the shell under the debugger
|
||||||
|
|
||||||
|
JIT Stack viewer toggle
|
||||||
|
Open stack viewer on traceback
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: stack viewer
|
||||||
|
single: debugger
|
||||||
|
|
||||||
|
|
||||||
|
Basic editing and navigation
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right
|
||||||
|
|
||||||
|
* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around
|
||||||
|
|
||||||
|
* :kbd:`Home`/:kbd:`End` go to begin/end of line
|
||||||
|
|
||||||
|
* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file
|
||||||
|
|
||||||
|
* Some :program:`Emacs` bindings may also work, including :kbd:`C-B`,
|
||||||
|
:kbd:`C-P`, :kbd:`C-A`, :kbd:`C-E`, :kbd:`C-D`, :kbd:`C-L`
|
||||||
|
|
||||||
|
|
||||||
|
Automatic indentation
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
After a block-opening statement, the next line is indented by 4 spaces (in the
|
||||||
|
Python Shell window by one tab). After certain keywords (break, return etc.)
|
||||||
|
the next line is dedented. In leading indentation, :kbd:`Backspace` deletes up
|
||||||
|
to 4 spaces if they are there. :kbd:`Tab` inserts 1-4 spaces (in the Python
|
||||||
|
Shell window one tab). See also the indent/dedent region commands in the edit
|
||||||
|
menu.
|
||||||
|
|
||||||
|
|
||||||
|
Python Shell window
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
* :kbd:`C-C` interrupts executing command
|
||||||
|
|
||||||
|
* :kbd:`C-D` sends end-of-file; closes window if typed at a ``>>>`` prompt
|
||||||
|
|
||||||
|
* :kbd:`Alt-p` retrieves previous command matching what you have typed
|
||||||
|
|
||||||
|
* :kbd:`Alt-n` retrieves next
|
||||||
|
|
||||||
|
* :kbd:`Return` while on any previous command retrieves that command
|
||||||
|
|
||||||
|
* :kbd:`Alt-/` (Expand word) is also useful here
|
||||||
|
|
||||||
|
.. index:: single: indentation
|
||||||
|
|
||||||
|
|
||||||
|
Syntax colors
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The coloring is applied in a background "thread," so you may occasionally see
|
||||||
|
uncolorized text. To change the color scheme, edit the ``[Colors]`` section in
|
||||||
|
:file:`config.txt`.
|
||||||
|
|
||||||
|
Python syntax colors:
|
||||||
|
Keywords
|
||||||
|
orange
|
||||||
|
|
||||||
|
Strings
|
||||||
|
green
|
||||||
|
|
||||||
|
Comments
|
||||||
|
red
|
||||||
|
|
||||||
|
Definitions
|
||||||
|
blue
|
||||||
|
|
||||||
|
Shell colors:
|
||||||
|
Console output
|
||||||
|
brown
|
||||||
|
|
||||||
|
stdout
|
||||||
|
blue
|
||||||
|
|
||||||
|
stderr
|
||||||
|
dark green
|
||||||
|
|
||||||
|
stdin
|
||||||
|
black
|
||||||
|
|
||||||
|
|
||||||
|
Command line usage
|
||||||
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
|
||||||
|
|
||||||
|
-c command run this command
|
||||||
|
-d enable debugger
|
||||||
|
-e edit mode; arguments are files to be edited
|
||||||
|
-s run $IDLESTARTUP or $PYTHONSTARTUP first
|
||||||
|
-t title set title of shell window
|
||||||
|
|
||||||
|
If there are arguments:
|
||||||
|
|
||||||
|
#. If :option:`-e` is used, arguments are files opened for editing and
|
||||||
|
``sys.argv`` reflects the arguments passed to IDLE itself.
|
||||||
|
|
||||||
|
#. Otherwise, if :option:`-c` is used, all arguments are placed in
|
||||||
|
``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``.
|
||||||
|
|
||||||
|
#. Otherwise, if neither :option:`-e` nor :option:`-c` is used, the first
|
||||||
|
argument is a script which is executed with the remaining arguments in
|
||||||
|
``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script
|
||||||
|
name is '-', no script is executed but an interactive Python session is started;
|
||||||
|
the arguments are still available in ``sys.argv``.
|
||||||
|
|
||||||
|
|
@ -51,7 +51,7 @@ documented in the Reference Manual.
|
|||||||
ipc.rst
|
ipc.rst
|
||||||
internet.rst
|
internet.rst
|
||||||
mm.rst
|
mm.rst
|
||||||
tkinter.rst
|
tk.rst
|
||||||
i18n.rst
|
i18n.rst
|
||||||
frameworks.rst
|
frameworks.rst
|
||||||
development.rst
|
development.rst
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
.. _intro:
|
.. _library-intro:
|
||||||
|
|
||||||
************
|
************
|
||||||
Introduction
|
Introduction
|
||||||
|
93
Doc-3k/library/othergui.rst
Normal file
93
Doc-3k/library/othergui.rst
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
.. _other-gui-packages:
|
||||||
|
|
||||||
|
Other Graphical User Interface Packages
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
There are an number of extension widget sets to :mod:`Tkinter`.
|
||||||
|
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
`Python megawidgets <http://pmw.sourceforge.net/>`_
|
||||||
|
is a toolkit for building high-level compound widgets in Python using the
|
||||||
|
:mod:`Tkinter` module. It consists of a set of base classes and a library of
|
||||||
|
flexible and extensible megawidgets built on this foundation. These megawidgets
|
||||||
|
include notebooks, comboboxes, selection widgets, paned widgets, scrolled
|
||||||
|
widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT, the
|
||||||
|
busy, graph, stripchart, tabset and vector commands are be available.
|
||||||
|
|
||||||
|
The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr
|
||||||
|
Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the
|
||||||
|
megawidgets are direct translations from the itcl to Python. It offers most of
|
||||||
|
the range of widgets that ``[incr Widgets]`` does, and is almost as complete as
|
||||||
|
Tix, lacking however Tix's fast :class:`HList` widget for drawing trees.
|
||||||
|
|
||||||
|
`Tkinter3000 Widget Construction Kit (WCK) <http://tkinter.effbot.org/>`_
|
||||||
|
is a library that allows you to write new Tkinter widgets in pure Python. The
|
||||||
|
WCK framework gives you full control over widget creation, configuration, screen
|
||||||
|
appearance, and event handling. WCK widgets can be very fast and light-weight,
|
||||||
|
since they can operate directly on Python data structures, without having to
|
||||||
|
transfer data through the Tk/Tcl layer.
|
||||||
|
|
||||||
|
.. %
|
||||||
|
|
||||||
|
Other GUI packages are also available for Python:
|
||||||
|
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
`wxPython <http://www.wxpython.org>`_
|
||||||
|
wxPython is a cross-platform GUI toolkit for Python that is built around the
|
||||||
|
popular `wxWidgets <http://www.wxwidgets.org/>`_ C++ toolkit. It provides a
|
||||||
|
native look and feel for applications on Windows, Mac OS X, and Unix systems by
|
||||||
|
using each platform's native widgets where ever possible, (GTK+ on Unix-like
|
||||||
|
systems). In addition to an extensive set of widgets, wxPython provides classes
|
||||||
|
for online documentation and context sensitive help, printing, HTML viewing,
|
||||||
|
low-level device context drawing, drag and drop, system clipboard access, an
|
||||||
|
XML-based resource format and more, including an ever growing library of user-
|
||||||
|
contributed modules. Both the wxWidgets and wxPython projects are under active
|
||||||
|
development and continuous improvement, and have active and helpful user and
|
||||||
|
developer communities.
|
||||||
|
|
||||||
|
`wxPython in Action <http://www.amazon.com/exec/obidos/ASIN/1932394621>`_
|
||||||
|
The wxPython book, by Noel Rappin and Robin Dunn.
|
||||||
|
|
||||||
|
PyQt
|
||||||
|
PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
|
||||||
|
extensive C++ GUI toolkit that is available for Unix, Windows and Mac OS X.
|
||||||
|
:program:`sip` is a tool for generating bindings for C++ libraries as Python
|
||||||
|
classes, and is specifically designed for Python. An online manual is available
|
||||||
|
at http://www.opendocspublishing.com/pyqt/ (errata are located at
|
||||||
|
http://www.valdyas.org/python/book.html).
|
||||||
|
|
||||||
|
`PyKDE <http://www.riverbankcomputing.co.uk/pykde/index.php>`_
|
||||||
|
PyKDE is a :program:`sip`\ -wrapped interface to the KDE desktop libraries. KDE
|
||||||
|
is a desktop environment for Unix computers; the graphical components are based
|
||||||
|
on Qt.
|
||||||
|
|
||||||
|
`FXPy <http://fxpy.sourceforge.net/>`_
|
||||||
|
is a Python extension module which provides an interface to the `FOX
|
||||||
|
<http://www.cfdrc.com/FOX/fox.html>`_ GUI. FOX is a C++ based Toolkit for
|
||||||
|
developing Graphical User Interfaces easily and effectively. It offers a wide,
|
||||||
|
and growing, collection of Controls, and provides state of the art facilities
|
||||||
|
such as drag and drop, selection, as well as OpenGL widgets for 3D graphical
|
||||||
|
manipulation. FOX also implements icons, images, and user-convenience features
|
||||||
|
such as status line help, and tooltips.
|
||||||
|
|
||||||
|
Even though FOX offers a large collection of controls already, FOX leverages C++
|
||||||
|
to allow programmers to easily build additional Controls and GUI elements,
|
||||||
|
simply by taking existing controls, and creating a derived class which simply
|
||||||
|
adds or redefines the desired behavior.
|
||||||
|
|
||||||
|
`PyGTK <http://www.daa.com.au/~james/software/pygtk/>`_
|
||||||
|
is a set of bindings for the `GTK <http://www.gtk.org/>`_ widget set. It
|
||||||
|
provides an object oriented interface that is slightly higher level than the C
|
||||||
|
one. It automatically does all the type casting and reference counting that you
|
||||||
|
would have to do normally with the C API. There are also `bindings
|
||||||
|
<http://www.daa.com.au/~james/gnome/>`_ to `GNOME <http://www.gnome.org>`_, and
|
||||||
|
a `tutorial
|
||||||
|
<http://laguna.fmedic.unam.mx/~daniel/pygtutorial/pygtutorial/index.html>`_ is
|
||||||
|
available.
|
||||||
|
|
||||||
|
.. % XXX Reference URLs that compare the different UI packages
|
||||||
|
|
32
Doc-3k/library/scrolledtext.rst
Normal file
32
Doc-3k/library/scrolledtext.rst
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
:mod:`ScrolledText` --- Scrolled Text Widget
|
||||||
|
============================================
|
||||||
|
|
||||||
|
.. module:: ScrolledText
|
||||||
|
:platform: Tk
|
||||||
|
:synopsis: Text widget with a vertical scroll bar.
|
||||||
|
.. sectionauthor:: Fred L. Drake, Jr. <fdrake@acm.org>
|
||||||
|
|
||||||
|
|
||||||
|
The :mod:`ScrolledText` module provides a class of the same name which
|
||||||
|
implements a basic text widget which has a vertical scroll bar configured to do
|
||||||
|
the "right thing." Using the :class:`ScrolledText` class is a lot easier than
|
||||||
|
setting up a text widget and scroll bar directly. The constructor is the same
|
||||||
|
as that of the :class:`Tkinter.Text` class.
|
||||||
|
|
||||||
|
The text widget and scrollbar are packed together in a :class:`Frame`, and the
|
||||||
|
methods of the :class:`Grid` and :class:`Pack` geometry managers are acquired
|
||||||
|
from the :class:`Frame` object. This allows the :class:`ScrolledText` widget to
|
||||||
|
be used directly to achieve most normal geometry management behavior.
|
||||||
|
|
||||||
|
Should more specific control be necessary, the following attributes are
|
||||||
|
available:
|
||||||
|
|
||||||
|
|
||||||
|
.. attribute:: ScrolledText.frame
|
||||||
|
|
||||||
|
The frame which surrounds the text and scroll bar widgets.
|
||||||
|
|
||||||
|
|
||||||
|
.. attribute:: ScrolledText.vbar
|
||||||
|
|
||||||
|
The scroll bar widget.
|
@ -148,9 +148,8 @@ Module functions and constants
|
|||||||
for the lock to go away until raising an exception. The default for the timeout
|
for the lock to go away until raising an exception. The default for the timeout
|
||||||
parameter is 5.0 (five seconds).
|
parameter is 5.0 (five seconds).
|
||||||
|
|
||||||
For the *isolation_level* parameter, please see the :attr:`isolation_level`
|
For the *isolation_level* parameter, please see the
|
||||||
property of :class:`Connection` objects in section
|
:attr:`Connection.isolation_level` property of :class:`Connection` objects.
|
||||||
:ref:`sqlite3-connection-isolationlevel`.
|
|
||||||
|
|
||||||
SQLite natively supports only the types TEXT, INTEGER, FLOAT, BLOB and NULL. If
|
SQLite natively supports only the types TEXT, INTEGER, FLOAT, BLOB and NULL. If
|
||||||
you want to use other types you must add support for them yourself. The
|
you want to use other types you must add support for them yourself. The
|
||||||
@ -221,9 +220,6 @@ Connection Objects
|
|||||||
|
|
||||||
A :class:`Connection` instance has the following attributes and methods:
|
A :class:`Connection` instance has the following attributes and methods:
|
||||||
|
|
||||||
.. _sqlite3-connection-isolationlevel:
|
|
||||||
|
|
||||||
|
|
||||||
.. attribute:: Connection.isolation_level
|
.. attribute:: Connection.isolation_level
|
||||||
|
|
||||||
Get or set the current isolation level. None for autocommit mode or one of
|
Get or set the current isolation level. None for autocommit mode or one of
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
.. _types:
|
.. _bltin-types:
|
||||||
|
|
||||||
**************
|
**************
|
||||||
Built-in Types
|
Built-in Types
|
||||||
@ -120,7 +120,7 @@ Notes:
|
|||||||
interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error.
|
interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error.
|
||||||
|
|
||||||
|
|
||||||
.. _comparisons:
|
.. _stdcomparisons:
|
||||||
|
|
||||||
Comparisons
|
Comparisons
|
||||||
===========
|
===========
|
||||||
@ -1764,9 +1764,8 @@ Files have the following methods:
|
|||||||
|
|
||||||
Not all "file-like" types in Python support use as a context manager for the
|
Not all "file-like" types in Python support use as a context manager for the
|
||||||
:keyword:`with` statement. If your code is intended to work with any file-like
|
:keyword:`with` statement. If your code is intended to work with any file-like
|
||||||
object, you can use the :func:`closing` function in the :mod:`contextlib` module
|
object, you can use the function :func:`contextlib.closing` instead of using
|
||||||
instead of using the object directly. See section :ref:`context-closing` for
|
the object directly.
|
||||||
details.
|
|
||||||
|
|
||||||
|
|
||||||
.. method:: file.flush()
|
.. method:: file.flush()
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
.. _strings:
|
.. _stringservices:
|
||||||
|
|
||||||
***************
|
***************
|
||||||
String Services
|
String Services
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
.. _tarfile-mod:
|
||||||
|
|
||||||
:mod:`tarfile` --- Read and write tar archive files
|
:mod:`tarfile` --- Read and write tar archive files
|
||||||
===================================================
|
===================================================
|
||||||
@ -286,7 +287,7 @@ object, see :ref:`tarinfo-objects` for details.
|
|||||||
.. method:: TarFile.open(...)
|
.. method:: TarFile.open(...)
|
||||||
|
|
||||||
Alternative constructor. The :func:`open` function on module level is actually a
|
Alternative constructor. The :func:`open` function on module level is actually a
|
||||||
shortcut to this classmethod. See section :ref:`module-tarfile` for details.
|
shortcut to this classmethod. See section :ref:`tarfile-mod` for details.
|
||||||
|
|
||||||
|
|
||||||
.. method:: TarFile.getmember(name)
|
.. method:: TarFile.getmember(name)
|
||||||
|
602
Doc-3k/library/tix.rst
Normal file
602
Doc-3k/library/tix.rst
Normal file
@ -0,0 +1,602 @@
|
|||||||
|
:mod:`Tix` --- Extension widgets for Tk
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
.. module:: Tix
|
||||||
|
:synopsis: Tk Extension Widgets for Tkinter
|
||||||
|
.. sectionauthor:: Mike Clarkson <mikeclarkson@users.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
|
.. index:: single: Tix
|
||||||
|
|
||||||
|
The :mod:`Tix` (Tk Interface Extension) module provides an additional rich set
|
||||||
|
of widgets. Although the standard Tk library has many useful widgets, they are
|
||||||
|
far from complete. The :mod:`Tix` library provides most of the commonly needed
|
||||||
|
widgets that are missing from standard Tk: :class:`HList`, :class:`ComboBox`,
|
||||||
|
:class:`Control` (a.k.a. SpinBox) and an assortment of scrollable widgets.
|
||||||
|
:mod:`Tix` also includes many more widgets that are generally useful in a wide
|
||||||
|
range of applications: :class:`NoteBook`, :class:`FileEntry`,
|
||||||
|
:class:`PanedWindow`, etc; there are more than 40 of them.
|
||||||
|
|
||||||
|
With all these new widgets, you can introduce new interaction techniques into
|
||||||
|
applications, creating more useful and more intuitive user interfaces. You can
|
||||||
|
design your application by choosing the most appropriate widgets to match the
|
||||||
|
special needs of your application and users.
|
||||||
|
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
|
||||||
|
`Tix Homepage <http://tix.sourceforge.net/>`_
|
||||||
|
The home page for :mod:`Tix`. This includes links to additional documentation
|
||||||
|
and downloads.
|
||||||
|
|
||||||
|
`Tix Man Pages <http://tix.sourceforge.net/dist/current/man/>`_
|
||||||
|
On-line version of the man pages and reference material.
|
||||||
|
|
||||||
|
`Tix Programming Guide <http://tix.sourceforge.net/dist/current/docs/tix-book/tix.book.html>`_
|
||||||
|
On-line version of the programmer's reference material.
|
||||||
|
|
||||||
|
`Tix Development Applications <http://tix.sourceforge.net/Tide/>`_
|
||||||
|
Tix applications for development of Tix and Tkinter programs. Tide applications
|
||||||
|
work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to
|
||||||
|
remotely modify and debug Tix/Tk/Tkinter applications.
|
||||||
|
|
||||||
|
|
||||||
|
Using Tix
|
||||||
|
---------
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Tix(screenName[, baseName[, className]])
|
||||||
|
|
||||||
|
Toplevel widget of Tix which represents mostly the main window of an
|
||||||
|
application. It has an associated Tcl interpreter.
|
||||||
|
|
||||||
|
Classes in the :mod:`Tix` module subclasses the classes in the :mod:`Tkinter`
|
||||||
|
module. The former imports the latter, so to use :mod:`Tix` with Tkinter, all
|
||||||
|
you need to do is to import one module. In general, you can just import
|
||||||
|
:mod:`Tix`, and replace the toplevel call to :class:`Tkinter.Tk` with
|
||||||
|
:class:`Tix.Tk`::
|
||||||
|
|
||||||
|
import Tix
|
||||||
|
from Tkconstants import *
|
||||||
|
root = Tix.Tk()
|
||||||
|
|
||||||
|
To use :mod:`Tix`, you must have the :mod:`Tix` widgets installed, usually
|
||||||
|
alongside your installation of the Tk widgets. To test your installation, try
|
||||||
|
the following::
|
||||||
|
|
||||||
|
import Tix
|
||||||
|
root = Tix.Tk()
|
||||||
|
root.tk.eval('package require Tix')
|
||||||
|
|
||||||
|
If this fails, you have a Tk installation problem which must be resolved before
|
||||||
|
proceeding. Use the environment variable :envvar:`TIX_LIBRARY` to point to the
|
||||||
|
installed :mod:`Tix` library directory, and make sure you have the dynamic
|
||||||
|
object library (:file:`tix8183.dll` or :file:`libtix8183.so`) in the same
|
||||||
|
directory that contains your Tk dynamic object library (:file:`tk8183.dll` or
|
||||||
|
:file:`libtk8183.so`). The directory with the dynamic object library should also
|
||||||
|
have a file called :file:`pkgIndex.tcl` (case sensitive), which contains the
|
||||||
|
line::
|
||||||
|
|
||||||
|
package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]
|
||||||
|
|
||||||
|
.. % $ <-- bow to font-lock
|
||||||
|
|
||||||
|
|
||||||
|
Tix Widgets
|
||||||
|
-----------
|
||||||
|
|
||||||
|
`Tix <http://tix.sourceforge.net/dist/current/man/html/TixCmd/TixIntro.htm>`_
|
||||||
|
introduces over 40 widget classes to the :mod:`Tkinter` repertoire. There is a
|
||||||
|
demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the
|
||||||
|
standard distribution.
|
||||||
|
|
||||||
|
.. % The Python sample code is still being added to Python, hence commented out
|
||||||
|
|
||||||
|
|
||||||
|
Basic Widgets
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Balloon()
|
||||||
|
|
||||||
|
A `Balloon
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixBalloon.htm>`_ that
|
||||||
|
pops up over a widget to provide help. When the user moves the cursor inside a
|
||||||
|
widget to which a Balloon widget has been bound, a small pop-up window with a
|
||||||
|
descriptive message will be shown on the screen.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ButtonBox()
|
||||||
|
|
||||||
|
The `ButtonBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm>`_
|
||||||
|
widget creates a box of buttons, such as is commonly used for ``Ok Cancel``.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ComboBox()
|
||||||
|
|
||||||
|
The `ComboBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm>`_
|
||||||
|
widget is similar to the combo box control in MS Windows. The user can select a
|
||||||
|
choice by either typing in the entry subwdget or selecting from the listbox
|
||||||
|
subwidget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Control()
|
||||||
|
|
||||||
|
The `Control
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixControl.htm>`_
|
||||||
|
widget is also known as the :class:`SpinBox` widget. The user can adjust the
|
||||||
|
value by pressing the two arrow buttons or by entering the value directly into
|
||||||
|
the entry. The new value will be checked against the user-defined upper and
|
||||||
|
lower limits.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: LabelEntry()
|
||||||
|
|
||||||
|
The `LabelEntry
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm>`_
|
||||||
|
widget packages an entry widget and a label into one mega widget. It can be used
|
||||||
|
be used to simplify the creation of "entry-form" type of interface.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: LabelFrame()
|
||||||
|
|
||||||
|
The `LabelFrame
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelFrame.htm>`_
|
||||||
|
widget packages a frame widget and a label into one mega widget. To create
|
||||||
|
widgets inside a LabelFrame widget, one creates the new widgets relative to the
|
||||||
|
:attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Meter()
|
||||||
|
|
||||||
|
The `Meter
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixMeter.htm>`_ widget
|
||||||
|
can be used to show the progress of a background job which may take a long time
|
||||||
|
to execute.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: OptionMenu()
|
||||||
|
|
||||||
|
The `OptionMenu
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm>`_
|
||||||
|
creates a menu button of options.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: PopupMenu()
|
||||||
|
|
||||||
|
The `PopupMenu
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm>`_
|
||||||
|
widget can be used as a replacement of the ``tk_popup`` command. The advantage
|
||||||
|
of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code
|
||||||
|
to manipulate.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Select()
|
||||||
|
|
||||||
|
The `Select
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixSelect.htm>`_ widget
|
||||||
|
is a container of button subwidgets. It can be used to provide radio-box or
|
||||||
|
check-box style of selection options for the user.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: StdButtonBox()
|
||||||
|
|
||||||
|
The `StdButtonBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm>`_
|
||||||
|
widget is a group of standard buttons for Motif-like dialog boxes.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
File Selectors
|
||||||
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirList()
|
||||||
|
|
||||||
|
The `DirList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirList.htm>`_
|
||||||
|
widget displays a list view of a directory, its previous directories and its
|
||||||
|
sub-directories. The user can choose one of the directories displayed in the
|
||||||
|
list or change to another directory.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirTree()
|
||||||
|
|
||||||
|
The `DirTree
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirTree.htm>`_
|
||||||
|
widget displays a tree view of a directory, its previous directories and its
|
||||||
|
sub-directories. The user can choose one of the directories displayed in the
|
||||||
|
list or change to another directory.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirSelectDialog()
|
||||||
|
|
||||||
|
The `DirSelectDialog
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirSelectDialog.htm>`_
|
||||||
|
widget presents the directories in the file system in a dialog window. The user
|
||||||
|
can use this dialog window to navigate through the file system to select the
|
||||||
|
desired directory.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: DirSelectBox()
|
||||||
|
|
||||||
|
The :class:`DirSelectBox` is similar to the standard Motif(TM) directory-
|
||||||
|
selection box. It is generally used for the user to choose a directory.
|
||||||
|
DirSelectBox stores the directories mostly recently selected into a ComboBox
|
||||||
|
widget so that they can be quickly selected again.
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ExFileSelectBox()
|
||||||
|
|
||||||
|
The `ExFileSelectBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixExFileSelectBox.htm>`_
|
||||||
|
widget is usually embedded in a tixExFileSelectDialog widget. It provides an
|
||||||
|
convenient method for the user to select files. The style of the
|
||||||
|
:class:`ExFileSelectBox` widget is very similar to the standard file dialog on
|
||||||
|
MS Windows 3.1.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: FileSelectBox()
|
||||||
|
|
||||||
|
The `FileSelectBox
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileSelectBox.htm>`_
|
||||||
|
is similar to the standard Motif(TM) file-selection box. It is generally used
|
||||||
|
for the user to choose a file. FileSelectBox stores the files mostly recently
|
||||||
|
selected into a :class:`ComboBox` widget so that they can be quickly selected
|
||||||
|
again.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: FileEntry()
|
||||||
|
|
||||||
|
The `FileEntry
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileEntry.htm>`_
|
||||||
|
widget can be used to input a filename. The user can type in the filename
|
||||||
|
manually. Alternatively, the user can press the button widget that sits next to
|
||||||
|
the entry, which will bring up a file selection dialog.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Hierachical ListBox
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: HList()
|
||||||
|
|
||||||
|
The `HList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixHList.htm>`_ widget
|
||||||
|
can be used to display any data that have a hierarchical structure, for example,
|
||||||
|
file system directory trees. The list entries are indented and connected by
|
||||||
|
branch lines according to their places in the hierarchy.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: CheckList()
|
||||||
|
|
||||||
|
The `CheckList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixCheckList.htm>`_
|
||||||
|
widget displays a list of items to be selected by the user. CheckList acts
|
||||||
|
similarly to the Tk checkbutton or radiobutton widgets, except it is capable of
|
||||||
|
handling many more items than checkbuttons or radiobuttons.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Tree()
|
||||||
|
|
||||||
|
The `Tree
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm>`_ widget
|
||||||
|
can be used to display hierarchical data in a tree form. The user can adjust the
|
||||||
|
view of the tree by opening or closing parts of the tree.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Tabular ListBox
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: TList()
|
||||||
|
|
||||||
|
The `TList
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTList.htm>`_ widget
|
||||||
|
can be used to display data in a tabular format. The list entries of a
|
||||||
|
:class:`TList` widget are similar to the entries in the Tk listbox widget. The
|
||||||
|
main differences are (1) the :class:`TList` widget can display the list entries
|
||||||
|
in a two dimensional format and (2) you can use graphical images as well as
|
||||||
|
multiple colors and fonts for the list entries.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl}
|
||||||
|
.. % Grid has yet to be added to Python
|
||||||
|
.. % \subsubsection{Grid Widget}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Manager Widgets
|
||||||
|
^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: PanedWindow()
|
||||||
|
|
||||||
|
The `PanedWindow
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPanedWindow.htm>`_
|
||||||
|
widget allows the user to interactively manipulate the sizes of several panes.
|
||||||
|
The panes can be arranged either vertically or horizontally. The user changes
|
||||||
|
the sizes of the panes by dragging the resize handle between two panes.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: ListNoteBook()
|
||||||
|
|
||||||
|
The `ListNoteBook
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm>`_
|
||||||
|
widget is very similar to the :class:`TixNoteBook` widget: it can be used to
|
||||||
|
display many windows in a limited space using a notebook metaphor. The notebook
|
||||||
|
is divided into a stack of pages (windows). At one time only one of these pages
|
||||||
|
can be shown. The user can navigate through these pages by choosing the name of
|
||||||
|
the desired page in the :attr:`hlist` subwidget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: NoteBook()
|
||||||
|
|
||||||
|
The `NoteBook
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixNoteBook.htm>`_
|
||||||
|
widget can be used to display many windows in a limited space using a notebook
|
||||||
|
metaphor. The notebook is divided into a stack of pages. At one time only one of
|
||||||
|
these pages can be shown. The user can navigate through these pages by choosing
|
||||||
|
the visual "tabs" at the top of the NoteBook widget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl}
|
||||||
|
|
||||||
|
.. % \subsubsection{Scrolled Widgets}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Image Types
|
||||||
|
^^^^^^^^^^^
|
||||||
|
|
||||||
|
The :mod:`Tix` module adds:
|
||||||
|
|
||||||
|
* `pixmap <http://tix.sourceforge.net/dist/current/man/html/TixCmd/pixmap.htm>`_
|
||||||
|
capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images
|
||||||
|
from XPM files.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl}
|
||||||
|
|
||||||
|
* `Compound
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/compound.htm>`_ image
|
||||||
|
types can be used to create images that consists of multiple horizontal lines;
|
||||||
|
each line is composed of a series of items (texts, bitmaps, images or spaces)
|
||||||
|
arranged from left to right. For example, a compound image can be used to
|
||||||
|
display a bitmap and a text string simultaneously in a Tk :class:`Button`
|
||||||
|
widget.
|
||||||
|
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl}
|
||||||
|
.. % Python Demo of:
|
||||||
|
.. % \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl}
|
||||||
|
|
||||||
|
|
||||||
|
Miscellaneous Widgets
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: InputOnly()
|
||||||
|
|
||||||
|
The `InputOnly
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixInputOnly.htm>`_
|
||||||
|
widgets are to accept inputs from the user, which can be done with the ``bind``
|
||||||
|
command (Unix only).
|
||||||
|
|
||||||
|
|
||||||
|
Form Geometry Manager
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
In addition, :mod:`Tix` augments :mod:`Tkinter` by providing:
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: Form()
|
||||||
|
|
||||||
|
The `Form
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixForm.htm>`_ geometry
|
||||||
|
manager based on attachment rules for all Tk widgets.
|
||||||
|
|
||||||
|
.. % begin{latexonly}
|
||||||
|
.. % \subsection{Tix Class Structure}
|
||||||
|
.. %
|
||||||
|
.. % \begin{figure}[hbtp]
|
||||||
|
.. % \centerline{\epsfig{file=hierarchy.png,width=.9\textwidth}}
|
||||||
|
.. % \vspace{.5cm}
|
||||||
|
.. % \caption{The Class Hierarchy of Tix Widgets}
|
||||||
|
.. % \end{figure}
|
||||||
|
.. % end{latexonly}
|
||||||
|
|
||||||
|
|
||||||
|
Tix Commands
|
||||||
|
------------
|
||||||
|
|
||||||
|
|
||||||
|
.. class:: tixCommand()
|
||||||
|
|
||||||
|
The `tix commands
|
||||||
|
<http://tix.sourceforge.net/dist/current/man/html/TixCmd/tix.htm>`_ provide
|
||||||
|
access to miscellaneous elements of :mod:`Tix`'s internal state and the
|
||||||
|
:mod:`Tix` application context. Most of the information manipulated by these
|
||||||
|
methods pertains to the application as a whole, or to a screen or display,
|
||||||
|
rather than to a particular window.
|
||||||
|
|
||||||
|
To view the current settings, the common usage is::
|
||||||
|
|
||||||
|
import Tix
|
||||||
|
root = Tix.Tk()
|
||||||
|
print root.tix_configure()
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_configure([cnf,] **kw)
|
||||||
|
|
||||||
|
Query or modify the configuration options of the Tix application context. If no
|
||||||
|
option is specified, returns a dictionary all of the available options. If
|
||||||
|
option is specified with no value, then the method returns a list describing the
|
||||||
|
one named option (this list will be identical to the corresponding sublist of
|
||||||
|
the value returned if no option is specified). If one or more option-value
|
||||||
|
pairs are specified, then the method modifies the given option(s) to have the
|
||||||
|
given value(s); in this case the method returns an empty string. Option may be
|
||||||
|
any of the configuration options.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_cget(option)
|
||||||
|
|
||||||
|
Returns the current value of the configuration option given by *option*. Option
|
||||||
|
may be any of the configuration options.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_getbitmap(name)
|
||||||
|
|
||||||
|
Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap
|
||||||
|
directories (see the :meth:`tix_addbitmapdir` method). By using
|
||||||
|
:meth:`tix_getbitmap`, you can avoid hard coding the pathnames of the bitmap
|
||||||
|
files in your application. When successful, it returns the complete pathname of
|
||||||
|
the bitmap file, prefixed with the character ``@``. The returned value can be
|
||||||
|
used to configure the ``bitmap`` option of the Tk and Tix widgets.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_addbitmapdir(directory)
|
||||||
|
|
||||||
|
Tix maintains a list of directories under which the :meth:`tix_getimage` and
|
||||||
|
:meth:`tix_getbitmap` methods will search for image files. The standard bitmap
|
||||||
|
directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method
|
||||||
|
adds *directory* into this list. By using this method, the image files of an
|
||||||
|
applications can also be located using the :meth:`tix_getimage` or
|
||||||
|
:meth:`tix_getbitmap` method.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_filedialog([dlgclass])
|
||||||
|
|
||||||
|
Returns the file selection dialog that may be shared among different calls from
|
||||||
|
this application. This method will create a file selection dialog widget when
|
||||||
|
it is called the first time. This dialog will be returned by all subsequent
|
||||||
|
calls to :meth:`tix_filedialog`. An optional dlgclass parameter can be passed
|
||||||
|
as a string to specified what type of file selection dialog widget is desired.
|
||||||
|
Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_getimage(self, name)
|
||||||
|
|
||||||
|
Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or
|
||||||
|
:file:`name.ppm` in one of the bitmap directories (see the
|
||||||
|
:meth:`tix_addbitmapdir` method above). If more than one file with the same name
|
||||||
|
(but different extensions) exist, then the image type is chosen according to the
|
||||||
|
depth of the X display: xbm images are chosen on monochrome displays and color
|
||||||
|
images are chosen on color displays. By using :meth:`tix_getimage`, you can
|
||||||
|
avoid hard coding the pathnames of the image files in your application. When
|
||||||
|
successful, this method returns the name of the newly created image, which can
|
||||||
|
be used to configure the ``image`` option of the Tk and Tix widgets.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_option_get(name)
|
||||||
|
|
||||||
|
Gets the options maintained by the Tix scheme mechanism.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])
|
||||||
|
|
||||||
|
Resets the scheme and fontset of the Tix application to *newScheme* and
|
||||||
|
*newFontSet*, respectively. This affects only those widgets created after this
|
||||||
|
call. Therefore, it is best to call the resetoptions method before the creation
|
||||||
|
of any widgets in a Tix application.
|
||||||
|
|
||||||
|
The optional parameter *newScmPrio* can be given to reset the priority level of
|
||||||
|
the Tk options set by the Tix schemes.
|
||||||
|
|
||||||
|
Because of the way Tk handles the X option database, after Tix has been has
|
||||||
|
imported and inited, it is not possible to reset the color schemes and font sets
|
||||||
|
using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions`
|
||||||
|
method must be used.
|
40
Doc-3k/library/tk.rst
Normal file
40
Doc-3k/library/tk.rst
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
.. _tkinter:
|
||||||
|
|
||||||
|
*********************************
|
||||||
|
Graphical User Interfaces with Tk
|
||||||
|
*********************************
|
||||||
|
|
||||||
|
.. index::
|
||||||
|
single: GUI
|
||||||
|
single: Graphical User Interface
|
||||||
|
single: Tkinter
|
||||||
|
single: 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 :mod:`Tkinter` module, and its extension, the :mod:`Tix` module.
|
||||||
|
|
||||||
|
The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To
|
||||||
|
use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to
|
||||||
|
consult the Tk documentation, and occasionally the Tcl documentation.
|
||||||
|
:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python
|
||||||
|
classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe
|
||||||
|
mechanism which allows Python and Tcl to interact.
|
||||||
|
|
||||||
|
Tk is not the only GUI for Python; see section :ref:`other-gui-packages` for
|
||||||
|
more information on other GUI toolkits for Python.
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
tkinter.rst
|
||||||
|
tix.rst
|
||||||
|
scrolledtext.rst
|
||||||
|
turtle.rst
|
||||||
|
idle.rst
|
||||||
|
othergui.rst
|
||||||
|
|
||||||
|
.. % Other sections I have in mind are
|
||||||
|
.. % Tkinter internals
|
||||||
|
.. % Freezing Tkinter applications
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -108,7 +108,7 @@ essentially useless.
|
|||||||
The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`.
|
The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`.
|
||||||
|
|
||||||
|
|
||||||
.. _dom-objects:
|
.. _minidom-objects:
|
||||||
|
|
||||||
DOM Objects
|
DOM Objects
|
||||||
-----------
|
-----------
|
||||||
|
@ -270,7 +270,7 @@ stored in the :mod:`sys` module and can be access via :func:`sys.exc_info`.
|
|||||||
:func:`sys.exc_info` returns a 3-tuple consisting of: ``exc_type`` receives the
|
:func:`sys.exc_info` returns a 3-tuple consisting of: ``exc_type`` receives the
|
||||||
object identifying the exception; ``exc_value`` receives the exception's
|
object identifying the exception; ``exc_value`` receives the exception's
|
||||||
parameter; ``exc_traceback`` receives a traceback object (see section
|
parameter; ``exc_traceback`` receives a traceback object (see section
|
||||||
:ref:`traceback`) identifying the point in the program where the exception
|
:ref:`types`) identifying the point in the program where the exception
|
||||||
occurred. :func:`sys.exc_info` values are restored to their previous values
|
occurred. :func:`sys.exc_info` values are restored to their previous values
|
||||||
(before the call) when returning from a function that handled an exception.
|
(before the call) when returning from a function that handled an exception.
|
||||||
|
|
||||||
|
@ -989,8 +989,6 @@ Internal types
|
|||||||
can implement a Jump command (aka Set Next Statement) by writing to f_lineno.
|
can implement a Jump command (aka Set Next Statement) by writing to f_lineno.
|
||||||
|
|
||||||
Traceback objects
|
Traceback objects
|
||||||
.. _traceback:
|
|
||||||
|
|
||||||
.. index::
|
.. index::
|
||||||
object: traceback
|
object: traceback
|
||||||
pair: stack; trace
|
pair: stack; trace
|
||||||
|
@ -500,7 +500,7 @@ constructor is used as the exception value.
|
|||||||
.. index:: object: traceback
|
.. index:: object: traceback
|
||||||
|
|
||||||
If a third object is present and not ``None``, it must be a traceback object
|
If a third object is present and not ``None``, it must be a traceback object
|
||||||
(see section :ref:`traceback`), and it is substituted instead of the current
|
(see section :ref:`types`), and it is substituted instead of the current
|
||||||
location as the place where the exception occurred. If the third object is
|
location as the place where the exception occurred. If the third object is
|
||||||
present and not a traceback object or ``None``, a :exc:`TypeError` exception is
|
present and not a traceback object or ``None``, a :exc:`TypeError` exception is
|
||||||
raised. The three-expression form of :keyword:`raise` is useful to re-raise an
|
raised. The three-expression form of :keyword:`raise` is useful to re-raise an
|
||||||
|
Loading…
Reference in New Issue
Block a user