From c66ff203bb02a56f813399403445730a14d8c045 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Fri, 16 Nov 2001 01:05:27 +0000 Subject: [PATCH] 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. --- Doc/lib/tkinter.tex | 524 +++++++++++++++++++++++--------------------- 1 file changed, 279 insertions(+), 245 deletions(-) diff --git a/Doc/lib/tkinter.tex b/Doc/lib/tkinter.tex index 78c359d1161..edc971a66b5 100644 --- a/Doc/lib/tkinter.tex +++ b/Doc/lib/tkinter.tex @@ -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