24.3. tkinter.tix — Extension widgets for Tk
The tkinter.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 tkinter.tix library provides most of the
commonly needed widgets that are missing from standard Tk: HList,
ComboBox, Control (a.k.a. SpinBox) and an assortment of
scrollable widgets.
tkinter.tix also includes many more widgets that are generally useful in
a wide range of applications: NoteBook, FileEntry,
PanedWindow, etc; there are more than 40 of them.
With all these new widgets, you can introduce new interaction techniques into
applications, creating more useful and more intuitive user interfaces. You can
design your application by choosing the most appropriate widgets to match the
special needs of your application and users.
See also
- Tix Homepage
- The home page for Tix. This includes links to additional documentation
and downloads.
- Tix Man Pages
- On-line version of the man pages and reference material.
- Tix Programming Guide
- On-line version of the programmer’s reference material.
- Tix Development Applications
- Tix applications for development of Tix and Tkinter programs. Tide applications
work under Tk or Tkinter, and include TixInspect, an inspector to
remotely modify and debug Tix/Tk/Tkinter applications.
24.3.1. Using Tix
-
class tkinter.tix.Tk(screenName=None, baseName=None, className='Tix')
Toplevel widget of Tix which represents mostly the main window of an
application. It has an associated Tcl interpreter.
Classes in the tkinter.tix module subclasses the classes in the
tkinter. The former imports the latter, so to use tkinter.tix
with Tkinter, all you need to do is to import one module. In general, you
can just import tkinter.tix, and replace the toplevel call to
tkinter.Tk with tix.Tk:
from tkinter import tix
from tkinter.constants import *
root = tix.Tk()
To use tkinter.tix, you must have the Tix widgets installed, usually
alongside your installation of the Tk widgets. To test your installation, try
the following:
from tkinter import tix
root = tix.Tk()
root.tk.eval('package require Tix')
If this fails, you have a Tk installation problem which must be resolved before
proceeding. Use the environment variable TIX_LIBRARY to point to the
installed Tix library directory, and make sure you have the dynamic
object library (tix8183.dll or libtix8183.so) in the same
directory that contains your Tk dynamic object library (tk8183.dll or
libtk8183.so). The directory with the dynamic object library should also
have a file called pkgIndex.tcl (case sensitive), which contains the
line:
package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]
24.3.3. Tix Commands
-
class tkinter.tix.tixCommand
The tix commands provide
access to miscellaneous elements of Tix‘s internal state and the
Tix application context. Most of the information manipulated by these
methods pertains to the application as a whole, or to a screen or display,
rather than to a particular window.
To view the current settings, the common usage is:
import Tix
root = Tix.Tk()
print(root.tix_configure())
-
tixCommand.tix_configure([cnf], **kw)
- Query or modify the configuration options of the Tix application context. If no
option is specified, returns a dictionary all of the available options. If
option is specified with no value, then the method returns a list describing the
one named option (this list will be identical to the corresponding sublist of
the value returned if no option is specified). If one or more option-value
pairs are specified, then the method modifies the given option(s) to have the
given value(s); in this case the method returns an empty string. Option may be
any of the configuration options.
-
tixCommand.tix_cget(option)
- Returns the current value of the configuration option given by option. Option
may be any of the configuration options.
-
tixCommand.tix_getbitmap(name)
- Locates a bitmap file of the name name.xpm or name in one of the bitmap
directories (see the tix_addbitmapdir() method). By using
tix_getbitmap(), you can avoid hard coding the pathnames of the bitmap
files in your application. When successful, it returns the complete pathname of
the bitmap file, prefixed with the character @. The returned value can be
used to configure the bitmap option of the Tk and Tix widgets.
-
tixCommand.tix_addbitmapdir(directory)
- Tix maintains a list of directories under which the tix_getimage() and
tix_getbitmap() methods will search for image files. The standard bitmap
directory is $TIX_LIBRARY/bitmaps. The tix_addbitmapdir() method
adds directory into this list. By using this method, the image files of an
applications can also be located using the tix_getimage() or
tix_getbitmap() method.
-
tixCommand.tix_filedialog([dlgclass])
- Returns the file selection dialog that may be shared among different calls from
this application. This method will create a file selection dialog widget when
it is called the first time. This dialog will be returned by all subsequent
calls to tix_filedialog(). An optional dlgclass parameter can be passed
as a string to specified what type of file selection dialog widget is desired.
Possible options are tix, FileSelectDialog or tixExFileSelectDialog.
-
tixCommand.tix_getimage(self, name)
- Locates an image file of the name name.xpm, name.xbm or
name.ppm in one of the bitmap directories (see the
tix_addbitmapdir() method above). If more than one file with the same name
(but different extensions) exist, then the image type is chosen according to the
depth of the X display: xbm images are chosen on monochrome displays and color
images are chosen on color displays. By using tix_getimage(), you can
avoid hard coding the pathnames of the image files in your application. When
successful, this method returns the name of the newly created image, which can
be used to configure the image option of the Tk and Tix widgets.
-
tixCommand.tix_option_get(name)
- Gets the options maintained by the Tix scheme mechanism.
-
tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])
Resets the scheme and fontset of the Tix application to newScheme and
newFontSet, respectively. This affects only those widgets created after this
call. Therefore, it is best to call the resetoptions method before the creation
of any widgets in a Tix application.
The optional parameter newScmPrio can be given to reset the priority level of
the Tk options set by the Tix schemes.
Because of the way Tk handles the X option database, after Tix has been has
imported and inited, it is not possible to reset the color schemes and font sets
using the tix_config() method. Instead, the tix_resetoptions()
method must be used.