17db96d56Sopenharmony_ci:mod:`tkinter.tix` --- Extension widgets for Tk 27db96d56Sopenharmony_ci=============================================== 37db96d56Sopenharmony_ci 47db96d56Sopenharmony_ci.. module:: tkinter.tix 57db96d56Sopenharmony_ci :synopsis: Tk Extension Widgets for Tkinter 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci.. sectionauthor:: Mike Clarkson <mikeclarkson@users.sourceforge.net> 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci**Source code:** :source:`Lib/tkinter/tix.py` 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci.. index:: single: Tix 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci.. deprecated:: 3.6 147db96d56Sopenharmony_ci This Tk extension is unmaintained and should not be used in new code. Use 157db96d56Sopenharmony_ci :mod:`tkinter.ttk` instead. 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci-------------- 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ciThe :mod:`tkinter.tix` (Tk Interface Extension) module provides an additional 207db96d56Sopenharmony_cirich set of widgets. Although the standard Tk library has many useful widgets, 217db96d56Sopenharmony_cithey are far from complete. The :mod:`tkinter.tix` library provides most of the 227db96d56Sopenharmony_cicommonly needed widgets that are missing from standard Tk: :class:`HList`, 237db96d56Sopenharmony_ci:class:`ComboBox`, :class:`Control` (a.k.a. SpinBox) and an assortment of 247db96d56Sopenharmony_ciscrollable widgets. 257db96d56Sopenharmony_ci:mod:`tkinter.tix` also includes many more widgets that are generally useful in 267db96d56Sopenharmony_cia wide range of applications: :class:`NoteBook`, :class:`FileEntry`, 277db96d56Sopenharmony_ci:class:`PanedWindow`, etc; there are more than 40 of them. 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ciWith all these new widgets, you can introduce new interaction techniques into 307db96d56Sopenharmony_ciapplications, creating more useful and more intuitive user interfaces. You can 317db96d56Sopenharmony_cidesign your application by choosing the most appropriate widgets to match the 327db96d56Sopenharmony_cispecial needs of your application and users. 337db96d56Sopenharmony_ci 347db96d56Sopenharmony_ci.. seealso:: 357db96d56Sopenharmony_ci 367db96d56Sopenharmony_ci `Tix Homepage <https://tix.sourceforge.net/>`_ 377db96d56Sopenharmony_ci The home page for :mod:`Tix`. This includes links to additional documentation 387db96d56Sopenharmony_ci and downloads. 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci `Tix Man Pages <https://tix.sourceforge.net/dist/current/man/>`_ 417db96d56Sopenharmony_ci On-line version of the man pages and reference material. 427db96d56Sopenharmony_ci 437db96d56Sopenharmony_ci `Tix Programming Guide <https://tix.sourceforge.net/dist/current/docs/tix-book/tix.book.html>`_ 447db96d56Sopenharmony_ci On-line version of the programmer's reference material. 457db96d56Sopenharmony_ci 467db96d56Sopenharmony_ci `Tix Development Applications <https://tix.sourceforge.net/Tixapps/src/Tide.html>`_ 477db96d56Sopenharmony_ci Tix applications for development of Tix and Tkinter programs. Tide applications 487db96d56Sopenharmony_ci work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to 497db96d56Sopenharmony_ci remotely modify and debug Tix/Tk/Tkinter applications. 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_ciUsing Tix 537db96d56Sopenharmony_ci--------- 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_ci.. class:: Tk(screenName=None, baseName=None, className='Tix') 577db96d56Sopenharmony_ci 587db96d56Sopenharmony_ci Toplevel widget of Tix which represents mostly the main window of an 597db96d56Sopenharmony_ci application. It has an associated Tcl interpreter. 607db96d56Sopenharmony_ci 617db96d56Sopenharmony_ci Classes in the :mod:`tkinter.tix` module subclasses the classes in the 627db96d56Sopenharmony_ci :mod:`tkinter`. The former imports the latter, so to use :mod:`tkinter.tix` 637db96d56Sopenharmony_ci with Tkinter, all you need to do is to import one module. In general, you 647db96d56Sopenharmony_ci can just import :mod:`tkinter.tix`, and replace the toplevel call to 657db96d56Sopenharmony_ci :class:`tkinter.Tk` with :class:`tix.Tk`:: 667db96d56Sopenharmony_ci 677db96d56Sopenharmony_ci from tkinter import tix 687db96d56Sopenharmony_ci from tkinter.constants import * 697db96d56Sopenharmony_ci root = tix.Tk() 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ciTo use :mod:`tkinter.tix`, you must have the Tix widgets installed, usually 727db96d56Sopenharmony_cialongside your installation of the Tk widgets. To test your installation, try 737db96d56Sopenharmony_cithe following:: 747db96d56Sopenharmony_ci 757db96d56Sopenharmony_ci from tkinter import tix 767db96d56Sopenharmony_ci root = tix.Tk() 777db96d56Sopenharmony_ci root.tk.eval('package require Tix') 787db96d56Sopenharmony_ci 797db96d56Sopenharmony_ci 807db96d56Sopenharmony_ciTix Widgets 817db96d56Sopenharmony_ci----------- 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ci`Tix <https://tix.sourceforge.net/dist/current/man/html/TixCmd/TixIntro.htm>`_ 847db96d56Sopenharmony_ciintroduces over 40 widget classes to the :mod:`tkinter` repertoire. 857db96d56Sopenharmony_ci 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_ciBasic Widgets 887db96d56Sopenharmony_ci^^^^^^^^^^^^^ 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_ci 917db96d56Sopenharmony_ci.. class:: Balloon() 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_ci A `Balloon 947db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixBalloon.htm>`_ that 957db96d56Sopenharmony_ci pops up over a widget to provide help. When the user moves the cursor inside a 967db96d56Sopenharmony_ci widget to which a Balloon widget has been bound, a small pop-up window with a 977db96d56Sopenharmony_ci descriptive message will be shown on the screen. 987db96d56Sopenharmony_ci 997db96d56Sopenharmony_ci.. Python Demo of: 1007db96d56Sopenharmony_ci.. \ulink{Balloon}{https://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl} 1017db96d56Sopenharmony_ci 1027db96d56Sopenharmony_ci 1037db96d56Sopenharmony_ci.. class:: ButtonBox() 1047db96d56Sopenharmony_ci 1057db96d56Sopenharmony_ci The `ButtonBox 1067db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm>`_ 1077db96d56Sopenharmony_ci widget creates a box of buttons, such as is commonly used for ``Ok Cancel``. 1087db96d56Sopenharmony_ci 1097db96d56Sopenharmony_ci.. Python Demo of: 1107db96d56Sopenharmony_ci.. \ulink{ButtonBox}{https://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl} 1117db96d56Sopenharmony_ci 1127db96d56Sopenharmony_ci 1137db96d56Sopenharmony_ci.. class:: ComboBox() 1147db96d56Sopenharmony_ci 1157db96d56Sopenharmony_ci The `ComboBox 1167db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm>`_ 1177db96d56Sopenharmony_ci widget is similar to the combo box control in MS Windows. The user can select a 1187db96d56Sopenharmony_ci choice by either typing in the entry subwidget or selecting from the listbox 1197db96d56Sopenharmony_ci subwidget. 1207db96d56Sopenharmony_ci 1217db96d56Sopenharmony_ci.. Python Demo of: 1227db96d56Sopenharmony_ci.. \ulink{ComboBox}{https://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl} 1237db96d56Sopenharmony_ci 1247db96d56Sopenharmony_ci 1257db96d56Sopenharmony_ci.. class:: Control() 1267db96d56Sopenharmony_ci 1277db96d56Sopenharmony_ci The `Control 1287db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixControl.htm>`_ 1297db96d56Sopenharmony_ci widget is also known as the :class:`SpinBox` widget. The user can adjust the 1307db96d56Sopenharmony_ci value by pressing the two arrow buttons or by entering the value directly into 1317db96d56Sopenharmony_ci the entry. The new value will be checked against the user-defined upper and 1327db96d56Sopenharmony_ci lower limits. 1337db96d56Sopenharmony_ci 1347db96d56Sopenharmony_ci.. Python Demo of: 1357db96d56Sopenharmony_ci.. \ulink{Control}{https://tix.sourceforge.net/dist/current/demos/samples/Control.tcl} 1367db96d56Sopenharmony_ci 1377db96d56Sopenharmony_ci 1387db96d56Sopenharmony_ci.. class:: LabelEntry() 1397db96d56Sopenharmony_ci 1407db96d56Sopenharmony_ci The `LabelEntry 1417db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm>`_ 1427db96d56Sopenharmony_ci widget packages an entry widget and a label into one mega widget. It can 1437db96d56Sopenharmony_ci be used to simplify the creation of "entry-form" type of interface. 1447db96d56Sopenharmony_ci 1457db96d56Sopenharmony_ci.. Python Demo of: 1467db96d56Sopenharmony_ci.. \ulink{LabelEntry}{https://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} 1477db96d56Sopenharmony_ci 1487db96d56Sopenharmony_ci 1497db96d56Sopenharmony_ci.. class:: LabelFrame() 1507db96d56Sopenharmony_ci 1517db96d56Sopenharmony_ci The `LabelFrame 1527db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelFrame.htm>`_ 1537db96d56Sopenharmony_ci widget packages a frame widget and a label into one mega widget. To create 1547db96d56Sopenharmony_ci widgets inside a LabelFrame widget, one creates the new widgets relative to the 1557db96d56Sopenharmony_ci :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget. 1567db96d56Sopenharmony_ci 1577db96d56Sopenharmony_ci.. Python Demo of: 1587db96d56Sopenharmony_ci.. \ulink{LabelFrame}{https://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} 1597db96d56Sopenharmony_ci 1607db96d56Sopenharmony_ci 1617db96d56Sopenharmony_ci.. class:: Meter() 1627db96d56Sopenharmony_ci 1637db96d56Sopenharmony_ci The `Meter 1647db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixMeter.htm>`_ widget 1657db96d56Sopenharmony_ci can be used to show the progress of a background job which may take a long time 1667db96d56Sopenharmony_ci to execute. 1677db96d56Sopenharmony_ci 1687db96d56Sopenharmony_ci.. Python Demo of: 1697db96d56Sopenharmony_ci.. \ulink{Meter}{https://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} 1707db96d56Sopenharmony_ci 1717db96d56Sopenharmony_ci 1727db96d56Sopenharmony_ci.. class:: OptionMenu() 1737db96d56Sopenharmony_ci 1747db96d56Sopenharmony_ci The `OptionMenu 1757db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm>`_ 1767db96d56Sopenharmony_ci creates a menu button of options. 1777db96d56Sopenharmony_ci 1787db96d56Sopenharmony_ci.. Python Demo of: 1797db96d56Sopenharmony_ci.. \ulink{OptionMenu}{https://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl} 1807db96d56Sopenharmony_ci 1817db96d56Sopenharmony_ci 1827db96d56Sopenharmony_ci.. class:: PopupMenu() 1837db96d56Sopenharmony_ci 1847db96d56Sopenharmony_ci The `PopupMenu 1857db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm>`_ 1867db96d56Sopenharmony_ci widget can be used as a replacement of the ``tk_popup`` command. The advantage 1877db96d56Sopenharmony_ci of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code 1887db96d56Sopenharmony_ci to manipulate. 1897db96d56Sopenharmony_ci 1907db96d56Sopenharmony_ci.. Python Demo of: 1917db96d56Sopenharmony_ci.. \ulink{PopupMenu}{https://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl} 1927db96d56Sopenharmony_ci 1937db96d56Sopenharmony_ci 1947db96d56Sopenharmony_ci.. class:: Select() 1957db96d56Sopenharmony_ci 1967db96d56Sopenharmony_ci The `Select 1977db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixSelect.htm>`_ widget 1987db96d56Sopenharmony_ci is a container of button subwidgets. It can be used to provide radio-box or 1997db96d56Sopenharmony_ci check-box style of selection options for the user. 2007db96d56Sopenharmony_ci 2017db96d56Sopenharmony_ci.. Python Demo of: 2027db96d56Sopenharmony_ci.. \ulink{Select}{https://tix.sourceforge.net/dist/current/demos/samples/Select.tcl} 2037db96d56Sopenharmony_ci 2047db96d56Sopenharmony_ci 2057db96d56Sopenharmony_ci.. class:: StdButtonBox() 2067db96d56Sopenharmony_ci 2077db96d56Sopenharmony_ci The `StdButtonBox 2087db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm>`_ 2097db96d56Sopenharmony_ci widget is a group of standard buttons for Motif-like dialog boxes. 2107db96d56Sopenharmony_ci 2117db96d56Sopenharmony_ci.. Python Demo of: 2127db96d56Sopenharmony_ci.. \ulink{StdButtonBox}{https://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl} 2137db96d56Sopenharmony_ci 2147db96d56Sopenharmony_ci 2157db96d56Sopenharmony_ciFile Selectors 2167db96d56Sopenharmony_ci^^^^^^^^^^^^^^ 2177db96d56Sopenharmony_ci 2187db96d56Sopenharmony_ci 2197db96d56Sopenharmony_ci.. class:: DirList() 2207db96d56Sopenharmony_ci 2217db96d56Sopenharmony_ci The `DirList 2227db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirList.htm>`_ 2237db96d56Sopenharmony_ci widget displays a list view of a directory, its previous directories and its 2247db96d56Sopenharmony_ci sub-directories. The user can choose one of the directories displayed in the 2257db96d56Sopenharmony_ci list or change to another directory. 2267db96d56Sopenharmony_ci 2277db96d56Sopenharmony_ci.. Python Demo of: 2287db96d56Sopenharmony_ci.. \ulink{DirList}{https://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl} 2297db96d56Sopenharmony_ci 2307db96d56Sopenharmony_ci 2317db96d56Sopenharmony_ci.. class:: DirTree() 2327db96d56Sopenharmony_ci 2337db96d56Sopenharmony_ci The `DirTree 2347db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirTree.htm>`_ 2357db96d56Sopenharmony_ci widget displays a tree view of a directory, its previous directories and its 2367db96d56Sopenharmony_ci sub-directories. The user can choose one of the directories displayed in the 2377db96d56Sopenharmony_ci list or change to another directory. 2387db96d56Sopenharmony_ci 2397db96d56Sopenharmony_ci.. Python Demo of: 2407db96d56Sopenharmony_ci.. \ulink{DirTree}{https://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl} 2417db96d56Sopenharmony_ci 2427db96d56Sopenharmony_ci 2437db96d56Sopenharmony_ci.. class:: DirSelectDialog() 2447db96d56Sopenharmony_ci 2457db96d56Sopenharmony_ci The `DirSelectDialog 2467db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirSelectDialog.htm>`_ 2477db96d56Sopenharmony_ci widget presents the directories in the file system in a dialog window. The user 2487db96d56Sopenharmony_ci can use this dialog window to navigate through the file system to select the 2497db96d56Sopenharmony_ci desired directory. 2507db96d56Sopenharmony_ci 2517db96d56Sopenharmony_ci.. Python Demo of: 2527db96d56Sopenharmony_ci.. \ulink{DirSelectDialog}{https://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl} 2537db96d56Sopenharmony_ci 2547db96d56Sopenharmony_ci 2557db96d56Sopenharmony_ci.. class:: DirSelectBox() 2567db96d56Sopenharmony_ci 2577db96d56Sopenharmony_ci The :class:`DirSelectBox` is similar to the standard Motif(TM) 2587db96d56Sopenharmony_ci directory-selection box. It is generally used for the user to choose a 2597db96d56Sopenharmony_ci directory. DirSelectBox stores the directories mostly recently selected into 2607db96d56Sopenharmony_ci a ComboBox widget so that they can be quickly selected again. 2617db96d56Sopenharmony_ci 2627db96d56Sopenharmony_ci 2637db96d56Sopenharmony_ci.. class:: ExFileSelectBox() 2647db96d56Sopenharmony_ci 2657db96d56Sopenharmony_ci The `ExFileSelectBox 2667db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixExFileSelectBox.htm>`_ 2677db96d56Sopenharmony_ci widget is usually embedded in a tixExFileSelectDialog widget. It provides a 2687db96d56Sopenharmony_ci convenient method for the user to select files. The style of the 2697db96d56Sopenharmony_ci :class:`ExFileSelectBox` widget is very similar to the standard file dialog on 2707db96d56Sopenharmony_ci MS Windows 3.1. 2717db96d56Sopenharmony_ci 2727db96d56Sopenharmony_ci.. Python Demo of: 2737db96d56Sopenharmony_ci.. \ulink{ExFileSelectDialog}{https://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl} 2747db96d56Sopenharmony_ci 2757db96d56Sopenharmony_ci 2767db96d56Sopenharmony_ci.. class:: FileSelectBox() 2777db96d56Sopenharmony_ci 2787db96d56Sopenharmony_ci The `FileSelectBox 2797db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileSelectBox.htm>`_ 2807db96d56Sopenharmony_ci is similar to the standard Motif(TM) file-selection box. It is generally used 2817db96d56Sopenharmony_ci for the user to choose a file. FileSelectBox stores the files mostly recently 2827db96d56Sopenharmony_ci selected into a :class:`ComboBox` widget so that they can be quickly selected 2837db96d56Sopenharmony_ci again. 2847db96d56Sopenharmony_ci 2857db96d56Sopenharmony_ci.. Python Demo of: 2867db96d56Sopenharmony_ci.. \ulink{FileSelectDialog}{https://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl} 2877db96d56Sopenharmony_ci 2887db96d56Sopenharmony_ci 2897db96d56Sopenharmony_ci.. class:: FileEntry() 2907db96d56Sopenharmony_ci 2917db96d56Sopenharmony_ci The `FileEntry 2927db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileEntry.htm>`_ 2937db96d56Sopenharmony_ci widget can be used to input a filename. The user can type in the filename 2947db96d56Sopenharmony_ci manually. Alternatively, the user can press the button widget that sits next to 2957db96d56Sopenharmony_ci the entry, which will bring up a file selection dialog. 2967db96d56Sopenharmony_ci 2977db96d56Sopenharmony_ci.. Python Demo of: 2987db96d56Sopenharmony_ci.. \ulink{FileEntry}{https://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl} 2997db96d56Sopenharmony_ci 3007db96d56Sopenharmony_ci 3017db96d56Sopenharmony_ciHierarchical ListBox 3027db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^ 3037db96d56Sopenharmony_ci 3047db96d56Sopenharmony_ci 3057db96d56Sopenharmony_ci.. class:: HList() 3067db96d56Sopenharmony_ci 3077db96d56Sopenharmony_ci The `HList 3087db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixHList.htm>`_ widget 3097db96d56Sopenharmony_ci can be used to display any data that have a hierarchical structure, for example, 3107db96d56Sopenharmony_ci file system directory trees. The list entries are indented and connected by 3117db96d56Sopenharmony_ci branch lines according to their places in the hierarchy. 3127db96d56Sopenharmony_ci 3137db96d56Sopenharmony_ci.. Python Demo of: 3147db96d56Sopenharmony_ci.. \ulink{HList}{https://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl} 3157db96d56Sopenharmony_ci 3167db96d56Sopenharmony_ci 3177db96d56Sopenharmony_ci.. class:: CheckList() 3187db96d56Sopenharmony_ci 3197db96d56Sopenharmony_ci The `CheckList 3207db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixCheckList.htm>`_ 3217db96d56Sopenharmony_ci widget displays a list of items to be selected by the user. CheckList acts 3227db96d56Sopenharmony_ci similarly to the Tk checkbutton or radiobutton widgets, except it is capable of 3237db96d56Sopenharmony_ci handling many more items than checkbuttons or radiobuttons. 3247db96d56Sopenharmony_ci 3257db96d56Sopenharmony_ci.. Python Demo of: 3267db96d56Sopenharmony_ci.. \ulink{ CheckList}{https://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} 3277db96d56Sopenharmony_ci.. Python Demo of: 3287db96d56Sopenharmony_ci.. \ulink{ScrolledHList (1)}{https://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} 3297db96d56Sopenharmony_ci.. Python Demo of: 3307db96d56Sopenharmony_ci.. \ulink{ScrolledHList (2)}{https://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl} 3317db96d56Sopenharmony_ci 3327db96d56Sopenharmony_ci 3337db96d56Sopenharmony_ci.. class:: Tree() 3347db96d56Sopenharmony_ci 3357db96d56Sopenharmony_ci The `Tree 3367db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm>`_ widget 3377db96d56Sopenharmony_ci can be used to display hierarchical data in a tree form. The user can adjust the 3387db96d56Sopenharmony_ci view of the tree by opening or closing parts of the tree. 3397db96d56Sopenharmony_ci 3407db96d56Sopenharmony_ci.. Python Demo of: 3417db96d56Sopenharmony_ci.. \ulink{Tree}{https://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl} 3427db96d56Sopenharmony_ci.. Python Demo of: 3437db96d56Sopenharmony_ci.. \ulink{Tree (Dynamic)}{https://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl} 3447db96d56Sopenharmony_ci 3457db96d56Sopenharmony_ci 3467db96d56Sopenharmony_ciTabular ListBox 3477db96d56Sopenharmony_ci^^^^^^^^^^^^^^^ 3487db96d56Sopenharmony_ci 3497db96d56Sopenharmony_ci 3507db96d56Sopenharmony_ci.. class:: TList() 3517db96d56Sopenharmony_ci 3527db96d56Sopenharmony_ci The `TList 3537db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTList.htm>`_ widget 3547db96d56Sopenharmony_ci can be used to display data in a tabular format. The list entries of a 3557db96d56Sopenharmony_ci :class:`TList` widget are similar to the entries in the Tk listbox widget. The 3567db96d56Sopenharmony_ci main differences are (1) the :class:`TList` widget can display the list entries 3577db96d56Sopenharmony_ci in a two dimensional format and (2) you can use graphical images as well as 3587db96d56Sopenharmony_ci multiple colors and fonts for the list entries. 3597db96d56Sopenharmony_ci 3607db96d56Sopenharmony_ci.. Python Demo of: 3617db96d56Sopenharmony_ci.. \ulink{ScrolledTList (1)}{https://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} 3627db96d56Sopenharmony_ci.. Python Demo of: 3637db96d56Sopenharmony_ci.. \ulink{ScrolledTList (2)}{https://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} 3647db96d56Sopenharmony_ci.. Grid has yet to be added to Python 3657db96d56Sopenharmony_ci.. \subsubsection{Grid Widget} 3667db96d56Sopenharmony_ci.. Python Demo of: 3677db96d56Sopenharmony_ci.. \ulink{Simple Grid}{https://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} 3687db96d56Sopenharmony_ci.. Python Demo of: 3697db96d56Sopenharmony_ci.. \ulink{ScrolledGrid}{https://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} 3707db96d56Sopenharmony_ci.. Python Demo of: 3717db96d56Sopenharmony_ci.. \ulink{Editable Grid}{https://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl} 3727db96d56Sopenharmony_ci 3737db96d56Sopenharmony_ci 3747db96d56Sopenharmony_ciManager Widgets 3757db96d56Sopenharmony_ci^^^^^^^^^^^^^^^ 3767db96d56Sopenharmony_ci 3777db96d56Sopenharmony_ci 3787db96d56Sopenharmony_ci.. class:: PanedWindow() 3797db96d56Sopenharmony_ci 3807db96d56Sopenharmony_ci The `PanedWindow 3817db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPanedWindow.htm>`_ 3827db96d56Sopenharmony_ci widget allows the user to interactively manipulate the sizes of several panes. 3837db96d56Sopenharmony_ci The panes can be arranged either vertically or horizontally. The user changes 3847db96d56Sopenharmony_ci the sizes of the panes by dragging the resize handle between two panes. 3857db96d56Sopenharmony_ci 3867db96d56Sopenharmony_ci.. Python Demo of: 3877db96d56Sopenharmony_ci.. \ulink{PanedWindow}{https://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl} 3887db96d56Sopenharmony_ci 3897db96d56Sopenharmony_ci 3907db96d56Sopenharmony_ci.. class:: ListNoteBook() 3917db96d56Sopenharmony_ci 3927db96d56Sopenharmony_ci The `ListNoteBook 3937db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm>`_ 3947db96d56Sopenharmony_ci widget is very similar to the :class:`TixNoteBook` widget: it can be used to 3957db96d56Sopenharmony_ci display many windows in a limited space using a notebook metaphor. The notebook 3967db96d56Sopenharmony_ci is divided into a stack of pages (windows). At one time only one of these pages 3977db96d56Sopenharmony_ci can be shown. The user can navigate through these pages by choosing the name of 3987db96d56Sopenharmony_ci the desired page in the :attr:`hlist` subwidget. 3997db96d56Sopenharmony_ci 4007db96d56Sopenharmony_ci.. Python Demo of: 4017db96d56Sopenharmony_ci.. \ulink{ListNoteBook}{https://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl} 4027db96d56Sopenharmony_ci 4037db96d56Sopenharmony_ci 4047db96d56Sopenharmony_ci.. class:: NoteBook() 4057db96d56Sopenharmony_ci 4067db96d56Sopenharmony_ci The `NoteBook 4077db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixNoteBook.htm>`_ 4087db96d56Sopenharmony_ci widget can be used to display many windows in a limited space using a notebook 4097db96d56Sopenharmony_ci metaphor. The notebook is divided into a stack of pages. At one time only one of 4107db96d56Sopenharmony_ci these pages can be shown. The user can navigate through these pages by choosing 4117db96d56Sopenharmony_ci the visual "tabs" at the top of the NoteBook widget. 4127db96d56Sopenharmony_ci 4137db96d56Sopenharmony_ci.. Python Demo of: 4147db96d56Sopenharmony_ci.. \ulink{NoteBook}{https://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl} 4157db96d56Sopenharmony_ci 4167db96d56Sopenharmony_ci.. \subsubsection{Scrolled Widgets} 4177db96d56Sopenharmony_ci.. Python Demo of: 4187db96d56Sopenharmony_ci.. \ulink{ScrolledListBox}{https://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} 4197db96d56Sopenharmony_ci.. Python Demo of: 4207db96d56Sopenharmony_ci.. \ulink{ScrolledText}{https://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} 4217db96d56Sopenharmony_ci.. Python Demo of: 4227db96d56Sopenharmony_ci.. \ulink{ScrolledWindow}{https://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} 4237db96d56Sopenharmony_ci.. Python Demo of: 4247db96d56Sopenharmony_ci.. \ulink{Canvas Object View}{https://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} 4257db96d56Sopenharmony_ci 4267db96d56Sopenharmony_ci 4277db96d56Sopenharmony_ciImage Types 4287db96d56Sopenharmony_ci^^^^^^^^^^^ 4297db96d56Sopenharmony_ci 4307db96d56Sopenharmony_ciThe :mod:`tkinter.tix` module adds: 4317db96d56Sopenharmony_ci 4327db96d56Sopenharmony_ci* `pixmap <https://tix.sourceforge.net/dist/current/man/html/TixCmd/pixmap.htm>`_ 4337db96d56Sopenharmony_ci capabilities to all :mod:`tkinter.tix` and :mod:`tkinter` widgets to create 4347db96d56Sopenharmony_ci color images from XPM files. 4357db96d56Sopenharmony_ci 4367db96d56Sopenharmony_ci .. Python Demo of: 4377db96d56Sopenharmony_ci .. \ulink{XPM Image In Button}{https://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl} 4387db96d56Sopenharmony_ci .. Python Demo of: 4397db96d56Sopenharmony_ci .. \ulink{XPM Image In Menu}{https://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl} 4407db96d56Sopenharmony_ci 4417db96d56Sopenharmony_ci* `Compound 4427db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/compound.htm>`_ image 4437db96d56Sopenharmony_ci types can be used to create images that consists of multiple horizontal lines; 4447db96d56Sopenharmony_ci each line is composed of a series of items (texts, bitmaps, images or spaces) 4457db96d56Sopenharmony_ci arranged from left to right. For example, a compound image can be used to 4467db96d56Sopenharmony_ci display a bitmap and a text string simultaneously in a Tk :class:`Button` 4477db96d56Sopenharmony_ci widget. 4487db96d56Sopenharmony_ci 4497db96d56Sopenharmony_ci .. Python Demo of: 4507db96d56Sopenharmony_ci .. \ulink{Compound Image In Buttons}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl} 4517db96d56Sopenharmony_ci .. Python Demo of: 4527db96d56Sopenharmony_ci .. \ulink{Compound Image In NoteBook}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl} 4537db96d56Sopenharmony_ci .. Python Demo of: 4547db96d56Sopenharmony_ci .. \ulink{Compound Image Notebook Color Tabs}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl} 4557db96d56Sopenharmony_ci .. Python Demo of: 4567db96d56Sopenharmony_ci .. \ulink{Compound Image Icons}{https://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl} 4577db96d56Sopenharmony_ci 4587db96d56Sopenharmony_ci 4597db96d56Sopenharmony_ciMiscellaneous Widgets 4607db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^ 4617db96d56Sopenharmony_ci 4627db96d56Sopenharmony_ci 4637db96d56Sopenharmony_ci.. class:: InputOnly() 4647db96d56Sopenharmony_ci 4657db96d56Sopenharmony_ci The `InputOnly 4667db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixInputOnly.htm>`_ 4677db96d56Sopenharmony_ci widgets are to accept inputs from the user, which can be done with the ``bind`` 4687db96d56Sopenharmony_ci command (Unix only). 4697db96d56Sopenharmony_ci 4707db96d56Sopenharmony_ci 4717db96d56Sopenharmony_ciForm Geometry Manager 4727db96d56Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^ 4737db96d56Sopenharmony_ci 4747db96d56Sopenharmony_ciIn addition, :mod:`tkinter.tix` augments :mod:`tkinter` by providing: 4757db96d56Sopenharmony_ci 4767db96d56Sopenharmony_ci 4777db96d56Sopenharmony_ci.. class:: Form() 4787db96d56Sopenharmony_ci 4797db96d56Sopenharmony_ci The `Form 4807db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tixForm.htm>`_ geometry 4817db96d56Sopenharmony_ci manager based on attachment rules for all Tk widgets. 4827db96d56Sopenharmony_ci 4837db96d56Sopenharmony_ci 4847db96d56Sopenharmony_ciTix Commands 4857db96d56Sopenharmony_ci------------ 4867db96d56Sopenharmony_ci 4877db96d56Sopenharmony_ci 4887db96d56Sopenharmony_ci.. class:: tixCommand() 4897db96d56Sopenharmony_ci 4907db96d56Sopenharmony_ci The `tix commands 4917db96d56Sopenharmony_ci <https://tix.sourceforge.net/dist/current/man/html/TixCmd/tix.htm>`_ provide 4927db96d56Sopenharmony_ci access to miscellaneous elements of :mod:`Tix`'s internal state and the 4937db96d56Sopenharmony_ci :mod:`Tix` application context. Most of the information manipulated by these 4947db96d56Sopenharmony_ci methods pertains to the application as a whole, or to a screen or display, 4957db96d56Sopenharmony_ci rather than to a particular window. 4967db96d56Sopenharmony_ci 4977db96d56Sopenharmony_ci To view the current settings, the common usage is:: 4987db96d56Sopenharmony_ci 4997db96d56Sopenharmony_ci from tkinter import tix 5007db96d56Sopenharmony_ci root = tix.Tk() 5017db96d56Sopenharmony_ci print(root.tix_configure()) 5027db96d56Sopenharmony_ci 5037db96d56Sopenharmony_ci 5047db96d56Sopenharmony_ci.. method:: tixCommand.tix_configure(cnf=None, **kw) 5057db96d56Sopenharmony_ci 5067db96d56Sopenharmony_ci Query or modify the configuration options of the Tix application context. If no 5077db96d56Sopenharmony_ci option is specified, returns a dictionary all of the available options. If 5087db96d56Sopenharmony_ci option is specified with no value, then the method returns a list describing the 5097db96d56Sopenharmony_ci one named option (this list will be identical to the corresponding sublist of 5107db96d56Sopenharmony_ci the value returned if no option is specified). If one or more option-value 5117db96d56Sopenharmony_ci pairs are specified, then the method modifies the given option(s) to have the 5127db96d56Sopenharmony_ci given value(s); in this case the method returns an empty string. Option may be 5137db96d56Sopenharmony_ci any of the configuration options. 5147db96d56Sopenharmony_ci 5157db96d56Sopenharmony_ci 5167db96d56Sopenharmony_ci.. method:: tixCommand.tix_cget(option) 5177db96d56Sopenharmony_ci 5187db96d56Sopenharmony_ci Returns the current value of the configuration option given by *option*. Option 5197db96d56Sopenharmony_ci may be any of the configuration options. 5207db96d56Sopenharmony_ci 5217db96d56Sopenharmony_ci 5227db96d56Sopenharmony_ci.. method:: tixCommand.tix_getbitmap(name) 5237db96d56Sopenharmony_ci 5247db96d56Sopenharmony_ci Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap 5257db96d56Sopenharmony_ci directories (see the :meth:`tix_addbitmapdir` method). By using 5267db96d56Sopenharmony_ci :meth:`tix_getbitmap`, you can avoid hard coding the pathnames of the bitmap 5277db96d56Sopenharmony_ci files in your application. When successful, it returns the complete pathname of 5287db96d56Sopenharmony_ci the bitmap file, prefixed with the character ``@``. The returned value can be 5297db96d56Sopenharmony_ci used to configure the ``bitmap`` option of the Tk and Tix widgets. 5307db96d56Sopenharmony_ci 5317db96d56Sopenharmony_ci 5327db96d56Sopenharmony_ci.. method:: tixCommand.tix_addbitmapdir(directory) 5337db96d56Sopenharmony_ci 5347db96d56Sopenharmony_ci Tix maintains a list of directories under which the :meth:`tix_getimage` and 5357db96d56Sopenharmony_ci :meth:`tix_getbitmap` methods will search for image files. The standard bitmap 5367db96d56Sopenharmony_ci directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method 5377db96d56Sopenharmony_ci adds *directory* into this list. By using this method, the image files of an 5387db96d56Sopenharmony_ci applications can also be located using the :meth:`tix_getimage` or 5397db96d56Sopenharmony_ci :meth:`tix_getbitmap` method. 5407db96d56Sopenharmony_ci 5417db96d56Sopenharmony_ci 5427db96d56Sopenharmony_ci.. method:: tixCommand.tix_filedialog([dlgclass]) 5437db96d56Sopenharmony_ci 5447db96d56Sopenharmony_ci Returns the file selection dialog that may be shared among different calls from 5457db96d56Sopenharmony_ci this application. This method will create a file selection dialog widget when 5467db96d56Sopenharmony_ci it is called the first time. This dialog will be returned by all subsequent 5477db96d56Sopenharmony_ci calls to :meth:`tix_filedialog`. An optional dlgclass parameter can be passed 5487db96d56Sopenharmony_ci as a string to specified what type of file selection dialog widget is desired. 5497db96d56Sopenharmony_ci Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``. 5507db96d56Sopenharmony_ci 5517db96d56Sopenharmony_ci 5527db96d56Sopenharmony_ci.. method:: tixCommand.tix_getimage(self, name) 5537db96d56Sopenharmony_ci 5547db96d56Sopenharmony_ci Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or 5557db96d56Sopenharmony_ci :file:`name.ppm` in one of the bitmap directories (see the 5567db96d56Sopenharmony_ci :meth:`tix_addbitmapdir` method above). If more than one file with the same name 5577db96d56Sopenharmony_ci (but different extensions) exist, then the image type is chosen according to the 5587db96d56Sopenharmony_ci depth of the X display: xbm images are chosen on monochrome displays and color 5597db96d56Sopenharmony_ci images are chosen on color displays. By using :meth:`tix_getimage`, you can 5607db96d56Sopenharmony_ci avoid hard coding the pathnames of the image files in your application. When 5617db96d56Sopenharmony_ci successful, this method returns the name of the newly created image, which can 5627db96d56Sopenharmony_ci be used to configure the ``image`` option of the Tk and Tix widgets. 5637db96d56Sopenharmony_ci 5647db96d56Sopenharmony_ci 5657db96d56Sopenharmony_ci.. method:: tixCommand.tix_option_get(name) 5667db96d56Sopenharmony_ci 5677db96d56Sopenharmony_ci Gets the options maintained by the Tix scheme mechanism. 5687db96d56Sopenharmony_ci 5697db96d56Sopenharmony_ci 5707db96d56Sopenharmony_ci.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio]) 5717db96d56Sopenharmony_ci 5727db96d56Sopenharmony_ci Resets the scheme and fontset of the Tix application to *newScheme* and 5737db96d56Sopenharmony_ci *newFontSet*, respectively. This affects only those widgets created after this 5747db96d56Sopenharmony_ci call. Therefore, it is best to call the resetoptions method before the creation 5757db96d56Sopenharmony_ci of any widgets in a Tix application. 5767db96d56Sopenharmony_ci 5777db96d56Sopenharmony_ci The optional parameter *newScmPrio* can be given to reset the priority level of 5787db96d56Sopenharmony_ci the Tk options set by the Tix schemes. 5797db96d56Sopenharmony_ci 5807db96d56Sopenharmony_ci Because of the way Tk handles the X option database, after Tix has been has 5817db96d56Sopenharmony_ci imported and inited, it is not possible to reset the color schemes and font sets 5827db96d56Sopenharmony_ci using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions` 5837db96d56Sopenharmony_ci method must be used. 584