Commit c66ff203 authored by Fred Drake's avatar Fred Drake

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.
parent 69b2d75f
...@@ -30,11 +30,8 @@ other GUI toolkits for Python. ...@@ -30,11 +30,8 @@ other GUI toolkits for Python.
\localmoduletable \localmoduletable
\section{Tkinter \label{tkinter}} \section{\module{Tkinter} ---
\index{Tkinter} Python interface to Tcl/Tk}
\sectionauthor{Fredrik Lundh}{fredrik@effbot.org}
\index{Tkinter}
\declaremodule{standard}{Tkinter} \declaremodule{standard}{Tkinter}
\modulesynopsis{Interface to Tcl/Tk for graphical user interfaces} \modulesynopsis{Interface to Tcl/Tk for graphical user interfaces}
...@@ -109,6 +106,23 @@ Other modules that provide Tk support include: ...@@ -109,6 +106,23 @@ Other modules that provide Tk support include:
% \modulesynopsis{Constants used by Tkinter} % \modulesynopsis{Constants used by Tkinter}
% FIXME % 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}] \item[\module{Tkdnd}]
Drag-and-drop support for \refmodule{Tkinter}. Drag-and-drop support for \refmodule{Tkinter}.
This is experimental and should become deprecated when it is replaced This is experimental and should become deprecated when it is replaced
...@@ -120,7 +134,8 @@ Turtle graphics in a Tk window. ...@@ -120,7 +134,8 @@ Turtle graphics in a Tk window.
\end{description} \end{description}
\subsection{Tkinter Life Preserver} \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 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 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 ...@@ -280,7 +295,7 @@ an application. Application programmers need not instantiate one
explicitly, the system creates one whenever any of the other classes explicitly, the system creates one whenever any of the other classes
are instantiated. are instantiated.
\item The Widget class is not meant to be instantiated, it \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') is called an `abstract class')
\end{itemize} \end{itemize}
\fi \fi
...@@ -337,7 +352,7 @@ For example: ...@@ -337,7 +352,7 @@ For example:
Once created, the pathname to the widget becomes a new command. This 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 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 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: fred.someAction(someOptions), and in Tk, you say:
\begin{verbatim} \begin{verbatim}
...@@ -888,14 +903,15 @@ that matches for menu items labelled \code{last}, \code{active}, or ...@@ -888,14 +903,15 @@ that matches for menu items labelled \code{last}, \code{active}, or
\end{description} \end{description}
\section{Tix \label{tix-widgets}} \section{\module{Tix} ---
Extension widgets for Tk}
\index{Tix}
\declaremodule{standard}{Tix} \declaremodule{standard}{Tix}
\modulesynopsis{Tk Extension Widgets for Tkinter} \modulesynopsis{Tk Extension Widgets for Tkinter}
\sectionauthor{Mike Clarkson}{mikeclarkson@users.sourceforge.net} \sectionauthor{Mike Clarkson}{mikeclarkson@users.sourceforge.net}
\index{Tix}
The \module{Tix} (Tk Interface Extension) module provides an The \module{Tix} (Tk Interface Extension) module provides an
additional rich set of widgets. Although the standard Tk library has additional rich set of widgets. Although the standard Tk library has
many useful widgets, they are far from complete. The \module{Tix} 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 ...@@ -986,66 +1002,67 @@ repertoire. There is a demo of all the \refmodule{Tix} widgets in the
\subsubsection{Basic Widgets} \subsubsection{Basic Widgets}
\index{Balloon widget}
\begin{classdesc}{Balloon}{} \begin{classdesc}{Balloon}{}
A \ulink{Balloon} A \ulink{Balloon}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixBalloon.htm} that pops {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixBalloon.htm}
up over a widget to provide help. When the user moves the cursor that pops up over a widget to provide help. When the user moves the
inside a widget to which a Balloon widget has been bound, a small cursor inside a widget to which a Balloon widget has been bound, a
pop-up window with a descriptive message will be shown on the screen. small pop-up window with a descriptive message will be shown on the
screen.
\end{classdesc} \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}{} \begin{classdesc}{ButtonBox}{}
The \ulink{ButtonBox} The \ulink{ButtonBox}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm} widget {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm}
creates a box of buttons, such as is commonly used for \code{Ok Cancel}. widget creates a box of buttons, such as is commonly used for \code{Ok
Cancel}.
\end{classdesc} \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}{} \begin{classdesc}{ComboBox}{}
The \ulink{ComboBox} The \ulink{ComboBox}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm} widget is {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm}
similar to the combo box control in MS Windows. The user can select a widget is similar to the combo box control in MS Windows. The user can
choice by either typing in the entry subwdget or selecting from the select a choice by either typing in the entry subwdget or selecting
listbox subwidget. from the listbox subwidget.
\end{classdesc} \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}{} \begin{classdesc}{Control}{}
The \ulink{Control} The \ulink{Control}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixControl.htm} widget is {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixControl.htm}
also known as the \class{SpinBox} widget. The user can adjust the value widget is also known as the \class{SpinBox} widget. The user can
by pressing the two arrow buttons or by entering the value directly adjust the value by pressing the two arrow buttons or by entering the
into the entry. The new value will be checked against the user-defined value directly into the entry. The new value will be checked against
upper and lower limits. the user-defined upper and lower limits.
\end{classdesc} \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}{} \begin{classdesc}{LabelEntry}{}
The \ulink{LabelEntry} The \ulink{LabelEntry}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm} widget {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm}
packages an entry widget and a label into one mega widget. It can be widget packages an entry widget and a label into one mega widget. It
used be used to simplify the creation of ``entry-form'' type of interface. can be used be used to simplify the creation of ``entry-form'' type of
interface.
\end{classdesc} \end{classdesc}
% Python Demo of: % Python Demo of:
% \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl}
\index{LabelFrame widget}
\begin{classdesc}{LabelFrame}{} \begin{classdesc}{LabelFrame}{}
The \ulink{LabelFrame} The \ulink{LabelFrame}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelFrame.htm} widget {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelFrame.htm}
packages a frame widget and a label into one mega widget. To create widget packages a frame widget and a label into one mega widget. To
widgets inside a LabelFrame widget, one creates the new widgets create widgets inside a LabelFrame widget, one creates the new widgets
relative to the \member{frame} subwidget and manage them inside the relative to the \member{frame} subwidget and manage them inside the
\member{frame} subwidget. \member{frame} subwidget.
\end{classdesc} \end{classdesc}
...@@ -1053,60 +1070,58 @@ relative to the \member{frame} subwidget and manage them inside the ...@@ -1053,60 +1070,58 @@ relative to the \member{frame} subwidget and manage them inside the
% Python Demo of: % Python Demo of:
% \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl}
\index{Meter widget}
\begin{classdesc}{Meter}{} \begin{classdesc}{Meter}{}
The \ulink{Meter} The \ulink{Meter}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixMeter.htm} widget can {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixMeter.htm}
be used to show the progress of a background job which may take a long widget can be used to show the progress of a background job which may
time to execute. take a long time to execute.
\end{classdesc} \end{classdesc}
% Python Demo of: % Python Demo of:
% \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl}
\index{OptionMenu widget}
\begin{classdesc}{OptionMenu}{} \begin{classdesc}{OptionMenu}{}
The \ulink{OptionMenu} The \ulink{OptionMenu}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm} creates a {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm}
menu button of options. creates a menu button of options.
\end{classdesc} \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}{} \begin{classdesc}{PopupMenu}{}
The \ulink{PopupMenu} The \ulink{PopupMenu}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm} widget can {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm}
be used as a replacement of the \code{tk_popup} command. The advantage widget can be used as a replacement of the \code{tk_popup}
of the \refmodule{Tix} PopupMenu widget is it requires less application command. The advantage of the \refmodule{Tix} \class{PopupMenu} widget
code to manipulate. is it requires less application code to manipulate.
\end{classdesc} \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}{} \begin{classdesc}{Select}{}
The \ulink{Select} The \ulink{Select}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixSelect.htm} widget is a {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixSelect.htm}
container of button subwidgets. It can be used to provide radio-box or widget is a container of button subwidgets. It can be used to provide
check-box style of selection options for the user. radio-box or check-box style of selection options for the user.
\end{classdesc} \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}{} \begin{classdesc}{StdButtonBox}{}
The \ulink{StdButtonBox} The \ulink{StdButtonBox}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm} widget is a {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm}
group of Standard buttons for Motif-like dialog boxes. widget is a group of standard buttons for Motif-like dialog boxes.
\end{classdesc} \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} \subsubsection{File Selectors}
\index{DirList widget}
\begin{classdesc}{DirList}{} \begin{classdesc}{DirList}{}
The \ulink{DirList} The \ulink{DirList}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirList.htm} widget {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 ...@@ -1115,31 +1130,31 @@ sub-directories. The user can choose one of the directories displayed
in the list or change to another directory. in the list or change to another directory.
\end{classdesc} \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}{} \begin{classdesc}{DirTree}{}
The \ulink{DirTree} The \ulink{DirTree}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirTree.htm} widget {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirTree.htm}
displays a tree view of a directory, its previous directories and its widget displays a tree view of a directory, its previous directories
sub-directories. The user can choose one of the directories displayed and its sub-directories. The user can choose one of the directories
in the list or change to another directory. displayed in the list or change to another directory.
\end{classdesc} \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}{} \begin{classdesc}{DirSelectDialog}{}
The \ulink{DirSelectDialog} The \ulink{DirSelectDialog}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirSelectDialog.htm} widget {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirSelectDialog.htm}
presents the directories in the file system in a dialog window. The widget presents the directories in the file system in a dialog
user can use this dialog window to navigate through the file system to window. The user can use this dialog window to navigate through the
select the desired directory. file system to select the desired directory.
\end{classdesc} \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}{} \begin{classdesc}{DirSelectBox}{}
The \class{DirSelectBox} is similar The \class{DirSelectBox} is similar
to the standard Motif(TM) directory-selection box. It is generally used for 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 ...@@ -1148,151 +1163,167 @@ recently selected into a ComboBox widget so that they can be quickly
selected again. selected again.
\end{classdesc} \end{classdesc}
\index{ExFileSelectBox widget}
\begin{classdesc}{ExFileSelectBox}{} \begin{classdesc}{ExFileSelectBox}{}
The \ulink{ExFileSelectBox} The \ulink{ExFileSelectBox}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixExFileSelectBox.htm} widget is {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixExFileSelectBox.htm}
usually embedded in a tixExFileSelectDialog widget. It provides an widget is usually embedded in a tixExFileSelectDialog widget. It
convenient method for the user to select files. The style of the provides an convenient method for the user to select files. The style
ExFileSelectBox widget is very similar to the standard file dialog in of the \class{ExFileSelectBox} widget is very similar to the standard
MS Windows 3.1. file dialog on MS Windows 3.1.
\end{classdesc} \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}{} \begin{classdesc}{FileSelectBox}{}
The \ulink{FileSelectBox} The \ulink{FileSelectBox}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileSelectBox.htm} is similar {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileSelectBox.htm}
to the standard Motif(TM) file-selection box. It is generally used for is similar to the standard Motif(TM) file-selection box. It is
the user to choose a file. FileSelectBox stores the files mostly generally used for the user to choose a file. FileSelectBox stores the
recently selected into a ComboBox widget so that they can be quickly files mostly recently selected into a \class{ComboBox} widget so that
selected again. they can be quickly selected again.
\end{classdesc} \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}{} \begin{classdesc}{FileEntry}{}
The \ulink{FileEntry} The \ulink{FileEntry}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileEntry.htm} widget can {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileEntry.htm}
be used to input a filename. The user can type in the filename widget can be used to input a filename. The user can type in the
manually. Alternatively, the user can press the button widget that filename manually. Alternatively, the user can press the button widget
sits next to the entry, which will bring up a file selection dialog. that sits next to the entry, which will bring up a file selection
dialog.
\end{classdesc} \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} \subsubsection{Hierachical ListBox}
\index{HList widget}
\begin{classdesc}{HList}{} \begin{classdesc}{HList}{}
The \ulink{HList} The \ulink{HList}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixHList.htm} widget can be {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixHList.htm}
used to display any data that have a hierarchical structure, for widget can be used to display any data that have a hierarchical
example, file system directory trees. The list entries are indented structure, for example, file system directory trees. The list entries
and connected by branch lines according to their places in the hierachy. are indented and connected by branch lines according to their places
in the hierachy.
\end{classdesc} \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}{} \begin{classdesc}{CheckList}{}
The \ulink{CheckList} The \ulink{CheckList}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixCheckList.htm} widget {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixCheckList.htm}
displays a list of items to be selected by the user. CheckList acts widget displays a list of items to be selected by the user. CheckList
similarly to the Tk checkbutton or radiobutton widgets, except it is acts similarly to the Tk checkbutton or radiobutton widgets, except it
capable of handling many more items than checkbuttons or radiobuttons. is capable of handling many more items than checkbuttons or
radiobuttons.
\end{classdesc} \end{classdesc}
% Python Demo of: \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} % Python Demo of:
% Python Demo of: \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl}
% Python Demo of: \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.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}{} \begin{classdesc}{Tree}{}
The \ulink{Tree} The \ulink{Tree}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm} widget can be {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm}
used to display hierachical data in a tree form. The user can adjust widget can be used to display hierachical data in a tree form. The
the view of the tree by opening or closing parts of the tree. user can adjust the view of the tree by opening or closing parts of
the tree.
\end{classdesc} \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} \subsubsection{Tabular ListBox}
\index{TList widget}
\begin{classdesc}{TList}{} \begin{classdesc}{TList}{}
The \ulink{TList} The \ulink{TList}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTList.htm} widget can be {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTList.htm}
used to display data in a tabular format. The list entries of a TList widget can be used to display data in a tabular format. The list
widget are similar to the entries in the Tk listbox widget. The main entries of a \class{TList} widget are similar to the entries in the Tk
differences are (1) the TList widget can display the list entries in a listbox widget. The main differences are (1) the \class{TList} widget
two dimensional format and (2) you can use graphical images as well as can display the list entries in a two dimensional format and (2) you
multiple colors and fonts for the list entries. can use graphical images as well as multiple colors and fonts for the
list entries.
\end{classdesc} \end{classdesc}
% Python Demo of: \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} % Python Demo of:
% Python Demo of: \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} % \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 % Grid has yet to be added to Python
% \subsubsection{Grid Widget} % \subsubsection{Grid Widget}
% % Python Demo of: \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} % Python Demo of:
% % Python Demo of: \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl}
% % Python Demo of: \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.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} \subsubsection{Manager Widgets}
\index{PanedWindow widget}
\begin{classdesc}{PanedWindow}{} \begin{classdesc}{PanedWindow}{}
The \ulink{PanedWindow} The \ulink{PanedWindow}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPanedWindow.htm} widget {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPanedWindow.htm}
allows the user to interactively manipulate the sizes of several widget allows the user to interactively manipulate the sizes of
panes. The panes can be arranged either vertically or horizontally.The several panes. The panes can be arranged either vertically or
user changes the sizes of the panes by dragging the resize handle horizontally. The user changes the sizes of the panes by dragging the
between two panes. resize handle between two panes.
\end{classdesc} \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}{} \begin{classdesc}{ListNoteBook}{}
The \ulink{ListNoteBook} The \ulink{ListNoteBook}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm} widget is {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm}
very similar to the TixNoteBook widget: it can be used to display many widget is very similar to the \class{TixNoteBook} widget: it can be
windows in a limited space using a notebook metaphor. The notebook is used to display many windows in a limited space using a notebook
divided into a stack of pages (windows). At one time only one of these metaphor. The notebook is divided into a stack of pages (windows). At
pages can be shown. The user can navigate through these pages by one time only one of these pages can be shown. The user can navigate
choosing the name of the desired page in the \member{hlist} subwidget. through these pages by choosing the name of the desired page in the
\member{hlist} subwidget.
\end{classdesc} \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}{} \begin{classdesc}{NoteBook}{}
The \ulink{NoteBook} The \ulink{NoteBook}
{http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixNoteBook.htm} widget can {http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixNoteBook.htm}
be used to display many windows in a limited space using a notebook widget can be used to display many windows in a limited space using a
metaphor. The notebook is divided into a stack of pages. At one time notebook metaphor. The notebook is divided into a stack of pages. At
only one of these pages can be shown. The user can navigate through one time only one of these pages can be shown. The user can navigate
these pages by choosing the visual ``tabs'' at the top of the NoteBook widget. through these pages by choosing the visual ``tabs'' at the top of the
NoteBook widget.
\end{classdesc} \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} % \subsubsection{Scrolled Widgets}
% Python Demo of: \ulink{ ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} % Python Demo of:
% Python Demo of: \ulink{ ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl}
% Python Demo of: \ulink{ ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} % Python Demo of:
% Python Demo of: \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} % \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} \subsubsection{Image Types}
...@@ -1360,91 +1391,7 @@ manager based on attachment rules for all Tk widgets. ...@@ -1360,91 +1391,7 @@ manager based on attachment rules for all Tk widgets.
%end{latexonly} %end{latexonly}
\section{Other User Interface Modules and Packages \input{libturtle}
\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
\section{Idle \label{idle}} \section{Idle \label{idle}}
...@@ -1672,3 +1619,90 @@ If there are arguments: ...@@ -1672,3 +1619,90 @@ If there are arguments:
session is started; the arguments are still available in session is started; the arguments are still available in
\code{sys.argv}. \code{sys.argv}.
\end{enumerate} \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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment