Switched a couple of sections around.

Cleaned up some markup nits.
Add a few more of the Tk-related modules to the list of modules.
This commit is contained in:
Fred Drake 2001-11-16 01:05:27 +00:00
parent 69b2d75fc7
commit c66ff203bb
1 changed files with 279 additions and 245 deletions

View File

@ -30,11 +30,8 @@ other GUI toolkits for Python.
\localmoduletable
\section{Tkinter \label{tkinter}}
\index{Tkinter}
\sectionauthor{Fredrik Lundh}{fredrik@effbot.org}
\index{Tkinter}
\section{\module{Tkinter} ---
Python interface to Tcl/Tk}
\declaremodule{standard}{Tkinter}
\modulesynopsis{Interface to Tcl/Tk for graphical user interfaces}
@ -109,6 +106,23 @@ Other modules that provide Tk support include:
% \modulesynopsis{Constants used by Tkinter}
% FIXME
\item[\module{tkColorChooser}]
Dialog to let the user choose a color.
\item[\module{tkCommonDialog}]
\item[\module{tkFileDialog}]
Common dialogs to allow the user to specify a file to open or save.
\item[\module{tkFont}]
Utilities to help work with fonts.
\item[\module{tkMessageBox}]
Access to standard Tk dialog boxes.
\item[\module{tkSimpleDialog}]
Basic dialogs and convenience functions.
\item[\module{Tkdnd}]
Drag-and-drop support for \refmodule{Tkinter}.
This is experimental and should become deprecated when it is replaced
@ -120,7 +134,8 @@ Turtle graphics in a Tk window.
\end{description}
\subsection{Tkinter Life Preserver}
\index{Tkinter}
\sectionauthor{Matt Conway}{}
% Converted to LaTeX by Mike Clarkson.
This section is not designed to be an exhaustive tutorial on either
Tk or Tkinter. Rather, it is intended as a stop gap, providing some
@ -280,7 +295,7 @@ an application. Application programmers need not instantiate one
explicitly, the system creates one whenever any of the other classes
are instantiated.
\item The Widget class is not meant to be instantiated, it
is meant only for subclassing to make ``real'' widgets. (in C++, this
is meant only for subclassing to make ``real'' widgets. (in \Cpp, this
is called an `abstract class')
\end{itemize}
\fi
@ -337,7 +352,7 @@ For example:
Once created, the pathname to the widget becomes a new command. This
new \var{widget command} is the programmer's handle for getting the new
widget to perform some \var{action}. In C, you'd express this as
someAction(fred, someOptions), in C++, you would express this as
someAction(fred, someOptions), in \Cpp, you would express this as
fred.someAction(someOptions), and in Tk, you say:
\begin{verbatim}
@ -888,14 +903,15 @@ that matches for menu items labelled \code{last}, \code{active}, or
\end{description}
\section{Tix \label{tix-widgets}}
\index{Tix}
\section{\module{Tix} ---
Extension widgets for Tk}
\declaremodule{standard}{Tix}
\modulesynopsis{Tk Extension Widgets for Tkinter}
\sectionauthor{Mike Clarkson}{mikeclarkson@users.sourceforge.net}
\index{Tix}
The \module{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 \module{Tix}
@ -986,66 +1002,67 @@ repertoire. There is a demo of all the \refmodule{Tix} widgets in the
\subsubsection{Basic Widgets}
\index{Balloon widget}
\begin{classdesc}{Balloon}{}
A \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl}
% Python Demo of:
% \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl}
\index{ButtonBox widget}
\begin{classdesc}{ButtonBox}{}
The \ulink{ButtonBox}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm} widget
creates a box of buttons, such as is commonly used for \code{Ok Cancel}.
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm}
widget creates a box of buttons, such as is commonly used for \code{Ok
Cancel}.
\end{classdesc}
% Python Demo of: \ulink{ ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl}
% Python Demo of:
% \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl}
\index{ComboBox widget}
\begin{classdesc}{ComboBox}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl}
% Python Demo of:
% \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl}
\index{Control widget}
\begin{classdesc}{Control}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl}
% Python Demo of:
% \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl}
\index{LabelEntry widget}
\begin{classdesc}{LabelEntry}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of:
% \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl}
\index{LabelFrame widget}
\begin{classdesc}{LabelFrame}{}
The \ulink{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
{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 \member{frame} subwidget and manage them inside the
\member{frame} subwidget.
\end{classdesc}
@ -1053,60 +1070,58 @@ relative to the \member{frame} subwidget and manage them inside the
% Python Demo of:
% \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl}
\index{Meter widget}
\begin{classdesc}{Meter}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of:
% \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl}
\index{OptionMenu widget}
\begin{classdesc}{OptionMenu}{}
The \ulink{OptionMenu}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm} creates a
menu button of options.
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm}
creates a menu button of options.
\end{classdesc}
% Python Demo of: \ulink{ OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl}
% Python Demo of:
% \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl}
\index{PopupMenu widget}
\begin{classdesc}{PopupMenu}{}
The \ulink{PopupMenu}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm} widget can
be used as a replacement of the \code{tk_popup} command. The advantage
of the \refmodule{Tix} PopupMenu widget is it requires less application
code to manipulate.
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm}
widget can be used as a replacement of the \code{tk_popup}
command. The advantage of the \refmodule{Tix} \class{PopupMenu} widget
is it requires less application code to manipulate.
\end{classdesc}
% Python Demo of: \ulink{ PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl}
% Python Demo of:
% \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl}
\index{Select widget}
\begin{classdesc}{Select}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl}
% Python Demo of:
% \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl}
\index{StdButtonBox widget}
\begin{classdesc}{StdButtonBox}{}
The \ulink{StdButtonBox}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm} widget is a
group of Standard buttons for Motif-like dialog boxes.
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm}
widget is a group of standard buttons for Motif-like dialog boxes.
\end{classdesc}
% Python Demo of: \ulink{ StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl}
% Python Demo of:
% \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl}
\subsubsection{File Selectors}
\index{DirList widget}
\begin{classdesc}{DirList}{}
The \ulink{DirList}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirList.htm} widget
@ -1115,31 +1130,31 @@ sub-directories. The user can choose one of the directories displayed
in the list or change to another directory.
\end{classdesc}
% Python Demo of: \ulink{ DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl}
% Python Demo of:
% \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl}
\index{DirTree widget}
\begin{classdesc}{DirTree}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl}
% Python Demo of:
% \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl}
\index{DirSelectDialog widget}
\begin{classdesc}{DirSelectDialog}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl}
% Python Demo of:
% \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl}
\index{DirSelectBox widget}
\begin{classdesc}{DirSelectBox}{}
The \class{DirSelectBox} is similar
to the standard Motif(TM) directory-selection box. It is generally used for
@ -1148,151 +1163,167 @@ recently selected into a ComboBox widget so that they can be quickly
selected again.
\end{classdesc}
\index{ExFileSelectBox widget}
\begin{classdesc}{ExFileSelectBox}{}
The \ulink{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
ExFileSelectBox widget is very similar to the standard file dialog in
MS Windows 3.1.
{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.
\end{classdesc}
% Python Demo of: \ulink{ ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl}
% Python Demo of:
%\ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl}
\index{FileSelectBox widget}
\begin{classdesc}{FileSelectBox}{}
The \ulink{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 ComboBox widget so that they can be quickly
selected again.
{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.
\end{classdesc}
% Python Demo of: \ulink{ FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl}
% Python Demo of:
% \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl}
\index{FileEntry widget}
\begin{classdesc}{FileEntry}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl}
% Python Demo of:
% \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl}
\subsubsection{Hierachical ListBox}
\index{HList widget}
\begin{classdesc}{HList}{}
The \ulink{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 hierachy.
{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 hierachy.
\end{classdesc}
% Python Demo of: \ulink{ HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl}
% Python Demo of:
% \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl}
\index{CheckList widget}
\begin{classdesc}{CheckList}{}
The \ulink{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.
{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.
\end{classdesc}
% 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}
% 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}
\index{Tree widget}
\begin{classdesc}{Tree}{}
The \ulink{Tree}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm} widget can be
used to display hierachical data in a tree form. The user can adjust
the view of the tree by opening or closing parts of the tree.
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm}
widget can be used to display hierachical data in a tree form. The
user can adjust the view of the tree by opening or closing parts of
the tree.
\end{classdesc}
% Python Demo of: \ulink{ Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl}
% 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}
% Python Demo of:
% \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl}
\subsubsection{Tabular ListBox}
\index{TList widget}
\begin{classdesc}{TList}{}
The \ulink{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 TList
widget are similar to the entries in the Tk listbox widget. The main
differences are (1) the 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.
{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.
\end{classdesc}
% 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}
% 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}
% 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}
\subsubsection{Manager Widgets}
\index{PanedWindow widget}
\begin{classdesc}{PanedWindow}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl}
% Python Demo of:
% \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl}
\index{ListNoteBook widget}
\begin{classdesc}{ListNoteBook}{}
The \ulink{ListNoteBook}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm} widget is
very similar to the 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 \member{hlist} subwidget.
{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
\member{hlist} subwidget.
\end{classdesc}
% Python Demo of: \ulink{ ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl}
% Python Demo of:
% \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl}
\index{NoteBook widget}
\begin{classdesc}{NoteBook}{}
The \ulink{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.
{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.
\end{classdesc}
% Python Demo of: \ulink{ NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl}
% 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}
% 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}
\subsubsection{Image Types}
@ -1360,91 +1391,7 @@ manager based on attachment rules for all Tk widgets.
%end{latexonly}
\section{Other User Interface Modules and Packages
\label{other-gui-modules}}
There are an number of extension widget sets to \refmodule{Tkinter}.
\begin{seealso}
\seetitle[http://pmw.sourceforge.net/]{Python megawidgets}{is a
toolkit for building high-level compound widgets in Python using the
\refmodule{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 \code{itcl}
extensions \code{[incr Tk]} by Michael McLennan and \code{[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 \code{[incr Widgets]} does, and is almost as complete as
Tix, lacking however Tix's fast \class{HList} widget for drawing trees.
}
\seetitle[http://tkinter.effbot.org]{Tkinter3000}{
is a Widget Construction Kit that allows you to write new Tkinter
widgets in Python using Mixins. It is built on top of Tkinter,
and does not offer the extended range of widgets that \refmodule{Tix} does,
but does allow a form of building mega-widgets. The project is
still in the early stages.
}
\end{seealso}
\refmodule{Tkinter} is not the only GUI for Python, but is however the
most commonly used one.
\begin{seealso}
\seetitle[http://www.wxwindows.org]{wxWindows}{
is a GUI toolkit that combines the most attractive attributes of Qt,
Tk, Motif, and GTK+ in one powerful and efficient package. It is
implemented in C++. wxWindows supports two flavors of Unix
implementation: GTK+ and Motif, and under Windows, it has a standard
Microsoft Foundation Classes (MFC) appearance, because it uses Win32
widgets. There is a Python class wrapper, independent of Tkinter.
wxWindows is much richer in widgets than \refmodule{Tkinter}, with its
help system, sophisticated HTML and image viewers, and other
specialized widgets, extensive documentation, and printing capabilities.
}
\seetitle[http://www.thekompany.com]{PyKDE}{
PyKDE is a SIP wrapped interface to the Qt toolkit.
The Qt C++ toolkit lies at the heart of the KDE desktop, and the
Qt toolkit allows very tight integration with KDE, and also Windows
portability. SIP is a tool for generating bindings for \Cpp{} libraries
as Python classes, and is specifically designed for Python.
}
\seetitle[http://fxpy.sourceforge.net/]{FXPy}{
is a Python extension module which provides an interface to the
\citetitle[http://www.cfdrc.com/FOX/fox.html]{FOX} 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.
}
\seetitle[http://www.daa.com.au/\~james/pygtk/]{PyGTK}{
is a set of bindings for the \ulink{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 \ulink{bindings}{http://www.daa.com.au/\~james/gnome/}
to \ulink{GNOME}{http://www.gnome.org}, and a
\ulink{tutorial}
{http://laguna.fmedic.unam.mx/\~daniel/pygtutorial/pygtutorial/index.html}
is available.
}
\end{seealso}
% XXX Reference URLs that compare the different UI packages
\input{libturtle}
\section{Idle \label{idle}}
@ -1672,3 +1619,90 @@ If there are arguments:
session is started; the arguments are still available in
\code{sys.argv}.
\end{enumerate}
\section{Other Graphical User Interface Packages
\label{other-gui-packages}}
There are an number of extension widget sets to \refmodule{Tkinter}.
\begin{seealso}
\seetitle[http://pmw.sourceforge.net/]{Python megawidgets}{is a
toolkit for building high-level compound widgets in Python using the
\refmodule{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 \code{itcl}
extensions \code{[incr Tk]} by Michael McLennan and \code{[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 \code{[incr Widgets]} does, and is almost as complete as
Tix, lacking however Tix's fast \class{HList} widget for drawing trees.
}
\seetitle[http://tkinter.effbot.org]{Tkinter3000}{
is a Widget Construction Kit that allows you to write new Tkinter
widgets in Python using Mixins. It is built on top of Tkinter,
and does not offer the extended range of widgets that \refmodule{Tix} does,
but does allow a form of building mega-widgets. The project is
still in the early stages.
}
\end{seealso}
\refmodule{Tkinter} is not the only GUI for Python, but is however the
most commonly used one.
\begin{seealso}
\seetitle[http://www.wxwindows.org]{wxWindows}{
is a GUI toolkit that combines the most attractive attributes of Qt,
Tk, Motif, and GTK+ in one powerful and efficient package. It is
implemented in \Cpp. wxWindows supports two flavors of Unix
implementation: GTK+ and Motif, and under Windows, it has a standard
Microsoft Foundation Classes (MFC) appearance, because it uses Win32
widgets. There is a Python class wrapper, independent of Tkinter.
wxWindows is much richer in widgets than \refmodule{Tkinter}, with its
help system, sophisticated HTML and image viewers, and other
specialized widgets, extensive documentation, and printing capabilities.
}
\seetitle[http://www.thekompany.com]{PyKDE}{
PyKDE is a SIP wrapped interface to the Qt toolkit.
The Qt \Cpp{} toolkit lies at the heart of the KDE desktop, and the
Qt toolkit allows very tight integration with KDE, and also Windows
portability. SIP is a tool for generating bindings for \Cpp{} libraries
as Python classes, and is specifically designed for Python.
}
\seetitle[http://fxpy.sourceforge.net/]{FXPy}{
is a Python extension module which provides an interface to the
\citetitle[http://www.cfdrc.com/FOX/fox.html]{FOX} GUI.
FOX is a \Cpp{} 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 \Cpp{} 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.
}
\seetitle[http://www.daa.com.au/\~james/pygtk/]{PyGTK}{
is a set of bindings for the \ulink{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 \ulink{bindings}{http://www.daa.com.au/\~james/gnome/}
to \ulink{GNOME}{http://www.gnome.org}, and a
\ulink{tutorial}
{http://laguna.fmedic.unam.mx/\~daniel/pygtutorial/pygtutorial/index.html}
is available.
}
\end{seealso}
% XXX Reference URLs that compare the different UI packages