tkinter — Python interface to Tcl/Tk Source code: Lib/tkinter/__init__.py The tkinter package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit. Both Tk and tkinter are available on most Unix platforms, as well as on Windows systems. (Tk itself is not part of Python; it is maintained at ActiveState.) Running python -m tkinter from the command line should open a window demonstrating a simple Tk interface, letting you know that tkinter is properly installed on your system, and also showing what version of Tcl/Tk is installed, so you can read the Tcl/Tk documentation specific to that version.  See also Tkinter documentation:  Python Tkinter Resources

The Python Tkinter Topic Guide provides a great deal of information on using Tk from Python and links to other sources of information on Tk.  TKDocs

Extensive tutorial plus friendlier widget pages for some of the widgets.  Tkinter 8.5 reference: a GUI for Python

On-line reference material.  Tkinter docs from effbot

Online reference for tkinter supported by effbot.org.  Programming Python

Book by Mark Lutz, has excellent coverage of Tkinter.  Modern Tkinter for Busy Python Developers

Book by Mark Roseman about building attractive and modern graphical user interfaces with Python and Tkinter.  Python and Tkinter Programming

Book by John Grayson (ISBN 1-884777-81-3).   Tcl/Tk documentation:  Tk commands

Most commands are available as tkinter or tkinter.ttk classes. Change ‘8.6’ to match the version of your Tcl/Tk installation.  Tcl/Tk recent man pages

Recent Tcl/Tk manuals on www.tcl.tk.  ActiveState Tcl Home Page

The Tk/Tcl development is largely taking place at ActiveState.  Tcl and the Tk Toolkit

Book by John Ousterhout, the inventor of Tcl.  Practical Programming in Tcl and Tk

Brent Welch’s encyclopedic book.    Tkinter Modules Most of the time, tkinter is all you really need, but a number of additional modules are available as well. The Tk interface is located in a binary module named _tkinter. This module contains the low-level interface to Tk, and should never be used directly by application programmers. It is usually a shared library (or DLL), but might in some cases be statically linked with the Python interpreter. In addition to the Tk interface module, tkinter includes a number of Python modules, tkinter.constants being one of the most important. Importing tkinter will automatically import tkinter.constants, so, usually, to use Tkinter all you need is a simple import statement: import tkinter
 Or, more often: from tkinter import *

class tkinter.Tk(screenName=None, baseName=None, className='Tk', useTk=1)
The Tk class is instantiated without arguments. This creates a toplevel widget of Tk which usually is the main window of an application. Each instance has its own associated Tcl interpreter.

tkinter.Tcl(screenName=None, baseName=None, className='Tk', useTk=0)
The Tcl() function is a factory function which creates an object much like that created by the Tk class, except that it does not initialize the Tk subsystem. This is most often useful when driving the Tcl interpreter in an environment where one doesn’t want to create extraneous toplevel windows, or where one cannot (such as Unix/Linux systems without an X server). An object created by the Tcl() object can have a Toplevel window created (and the Tk subsystem initialized) by calling its loadtk() method.
 Other modules that provide Tk support include:
tkinter.colorchooser

Dialog to let the user choose a color.
tkinter.commondialog

Base class for the dialogs defined in the other modules listed here.
tkinter.filedialog

Common dialogs to allow the user to specify a file to open or save.
tkinter.font

Utilities to help work with fonts.
tkinter.messagebox

Access to standard Tk dialog boxes.
tkinter.scrolledtext

Text widget with a vertical scroll bar built in.
tkinter.simpledialog

Basic dialogs and convenience functions.
tkinter.dnd

Drag-and-drop support for tkinter. This is experimental and should become deprecated when it is replaced with the Tk DND.
turtle

Turtle graphics in a Tk window.   Tkinter Life Preserver 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 introductory orientation on the system. Credits:  Tk was written by John Ousterhout while at Berkeley. Tkinter was written by Steen Lumholt and Guido van Rossum. This Life Preserver was written by Matt Conway at the University of Virginia. The HTML rendering, and some liberal editing, was produced from a FrameMaker version by Ken Manheimer. Fredrik Lundh elaborated and revised the class interface descriptions, to get them current with Tk 4.2. Mike Clarkson converted the documentation to LaTeX, and compiled the User Interface chapter of the reference manual.  How To Use This Section This section is designed in two parts: the first half (roughly) covers background material, while the second half can be taken to the keyboard as a handy reference. When trying to answer questions of the form “how do I do blah”, it is often best to find out how to do “blah” in straight Tk, and then convert this back into the corresponding tkinter call. Python programmers can often guess at the correct Python command by looking at the Tk documentation. This means that in order to use Tkinter, you will have to know a little bit about Tk. This document can’t fulfill that role, so the best we can do is point you to the best documentation that exists. Here are some hints:  The authors strongly suggest getting a copy of the Tk man pages. Specifically, the man pages in the manN directory are most useful. The man3 man pages describe the C interface to the Tk library and thus are not especially helpful for script writers. Addison-Wesley publishes a book called Tcl and the Tk Toolkit by John Ousterhout (ISBN 0-201-63337-X) which is a good introduction to Tcl and Tk for the novice. The book is not exhaustive, and for many details it defers to the man pages.
tkinter/__init__.py is a last resort for most, but can be a good place to go when nothing else makes sense.  A Simple Hello World Program import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()

    def create_widgets(self):
        self.hi_there = tk.Button(self)
        self.hi_there["text"] = "Hello World\n(click me)"
        self.hi_there["command"] = self.say_hi
        self.hi_there.pack(side="top")

        self.quit = tk.Button(self, text="QUIT", fg="red",
                              command=self.master.destroy)
        self.quit.pack(side="bottom")

    def say_hi(self):
        print("hi there, everyone!")

root = tk.Tk()
app = Application(master=root)
app.mainloop()
 A (Very) Quick Look at Tcl/Tk The class hierarchy looks complicated, but in actual practice, application programmers almost always refer to the classes at the very bottom of the hierarchy. Notes:  These classes are provided for the purposes of organizing certain functions under one namespace. They aren’t meant to be instantiated independently. The Tk class is meant to be instantiated only once in an application. Application programmers need not instantiate one explicitly, the system creates one whenever any of the other classes are instantiated. The Widget class is not meant to be instantiated, it is meant only for subclassing to make “real” widgets (in C++, this is called an ‘abstract class’).  To make use of this reference material, there will be times when you will need to know how to read short passages of Tk and how to identify the various parts of a Tk command. (See section Mapping Basic Tk into Tkinter for the tkinter equivalents of what’s below.) Tk scripts are Tcl programs. Like all Tcl programs, Tk scripts are just lists of tokens separated by spaces. A Tk widget is just its class, the options that help configure it, and the actions that make it do useful things. To make a widget in Tk, the command is always of the form: classCommand newPathname options
  classCommand

denotes which kind of widget to make (a button, a label, a menu…)    newPathname

is the new name for this widget. All names in Tk must be unique. To help enforce this, widgets in Tk are named with pathnames, just like files in a file system. The top level widget, the root, is called . (period) and children are delimited by more periods. For example, .myApp.controlPanel.okButton might be the name of a widget.  options

configure the widget’s appearance and in some cases, its behavior. The options come in the form of a list of flags and values. Flags are preceded by a ‘-‘, like Unix shell command flags, and values are put in quotes if they are more than one word.   For example: button   .fred   -fg red -text "hi there"
   ^       ^     \______________________/
   |       |                |
 class    new            options
command  widget  (-opt val -opt val ...)
 Once created, the pathname to the widget becomes a new command. This new widget command is the programmer’s handle for getting the new widget to perform some action. In C, you’d express this as someAction(fred, someOptions), in C++, you would express this as fred.someAction(someOptions), and in Tk, you say: .fred someAction someOptions
 Note that the object name, .fred, starts with a dot. As you’d expect, the legal values for someAction will depend on the widget’s class: .fred disable works if fred is a button (fred gets greyed out), but does not work if fred is a label (disabling of labels is not supported in Tk). The legal values of someOptions is action dependent. Some actions, like disable, require no arguments, others, like a text-entry box’s delete command, would need arguments to specify what range of text to delete. Mapping Basic Tk into Tkinter Class commands in Tk correspond to class constructors in Tkinter. button .fred                =====>  fred = Button()
 The master of an object is implicit in the new name given to it at creation time. In Tkinter, masters are specified explicitly. button .panel.fred          =====>  fred = Button(panel)
 The configuration options in Tk are given in lists of hyphened tags followed by values. In Tkinter, options are specified as keyword-arguments in the instance constructor, and keyword-args for configure calls or as instance indices, in dictionary style, for established instances. See section Setting Options on setting options. button .fred -fg red        =====>  fred = Button(panel, fg="red")
.fred configure -fg red     =====>  fred["fg"] = red
                            OR ==>  fred.config(fg="red")
 In Tk, to perform an action on a widget, use the widget name as a command, and follow it with an action name, possibly with arguments (options). In Tkinter, you call methods on the class instance to invoke actions on the widget. The actions (methods) that a given widget can perform are listed in tkinter/__init__.py. .fred invoke                =====>  fred.invoke()
 To give a widget to the packer (geometry manager), you call pack with optional arguments. In Tkinter, the Pack class holds all this functionality, and the various forms of the pack command are implemented as methods. All widgets in tkinter are subclassed from the Packer, and so inherit all the packing methods. See the tkinter.tix module documentation for additional information on the Form geometry manager. pack .fred -side left       =====>  fred.pack(side="left")
 How Tk and Tkinter are Related From the top down:  Your App Here (Python)

A Python application makes a tkinter call.  tkinter (Python Package)

This call (say, for example, creating a button widget), is implemented in the tkinter package, which is written in Python. This Python function will parse the commands and the arguments and convert them into a form that makes them look as if they had come from a Tk script instead of a Python script.  _tkinter (C)

These commands and their arguments will be passed to a C function in the _tkinter - note the underscore - extension module.  Tk Widgets (C and Tcl)

This C function is able to make calls into other C modules, including the C functions that make up the Tk library. Tk is implemented in C and some Tcl. The Tcl part of the Tk widgets is used to bind certain default behaviors to widgets, and is executed once at the point where the Python tkinter package is imported. (The user never sees this stage).  Tk (C)

The Tk part of the Tk Widgets implement the final mapping to …  Xlib (C)

the Xlib library to draw graphics on the screen.   Handy Reference Setting Options Options control things like the color and border width of a widget. Options can be set in three ways:  At object creation time, using keyword arguments

fred = Button(self, fg="red", bg="blue")
  After object creation, treating the option name like a dictionary index

fred["fg"] = "red"
fred["bg"] = "blue"
  Use the config() method to update multiple attrs subsequent to object creation

fred.config(fg="red", bg="blue")
   For a complete explanation of a given option and its behavior, see the Tk man pages for the widget in question. Note that the man pages list “STANDARD OPTIONS” and “WIDGET SPECIFIC OPTIONS” for each widget. The former is a list of options that are common to many widgets, the latter are the options that are idiosyncratic to that particular widget. The Standard Options are documented on the options(3) man page. No distinction between standard and widget-specific options is made in this document. Some options don’t apply to some kinds of widgets. Whether a given widget responds to a particular option depends on the class of the widget; buttons have a command option, labels do not. The options supported by a given widget are listed in that widget’s man page, or can be queried at runtime by calling the config() method without arguments, or by calling the keys() method on that widget. The return value of these calls is a dictionary whose key is the name of the option as a string (for example, 'relief') and whose values are 5-tuples. Some options, like bg are synonyms for common options with long names (bg is shorthand for “background”). Passing the config() method the name of a shorthand option will return a 2-tuple, not 5-tuple. The 2-tuple passed back will contain the name of the synonym and the “real” option (such as ('bg', 'background')).
Index Meaning Example
0 option name 'relief'
1 option name for database lookup 'relief'
2 option class for database lookup 'Relief'
3 default value 'raised'
4 current value 'groove'   Example: >>> print(fred.config())
{'relief': ('relief', 'relief', 'Relief', 'raised', 'groove')}
 Of course, the dictionary printed will include all the options available and their values. This is meant only as an example. The Packer The packer is one of Tk’s geometry-management mechanisms. Geometry managers are used to specify the relative positioning of widgets within their container - their mutual master. In contrast to the more cumbersome placer (which is used less commonly, and we do not cover here), the packer takes qualitative relationship specification - above, to the left of, filling, etc - and works everything out to determine the exact placement coordinates for you. The size of any master widget is determined by the size of the “slave widgets” inside. The packer is used to control where slave widgets appear inside the master into which they are packed. You can pack widgets into frames, and frames into other frames, in order to achieve the kind of layout you desire. Additionally, the arrangement is dynamically adjusted to accommodate incremental changes to the configuration, once it is packed. Note that widgets do not appear until they have had their geometry specified with a geometry manager. It’s a common early mistake to leave out the geometry specification, and then be surprised when the widget is created but nothing appears. A widget will appear only after it has had, for example, the packer’s pack() method applied to it. The pack() method can be called with keyword-option/value pairs that control where the widget is to appear within its container, and how it is to behave when the main application window is resized. Here are some examples: fred.pack()                     # defaults to side = "top"
fred.pack(side="left")
fred.pack(expand=1)
 Packer Options For more extensive information on the packer and the options that it can take, see the man pages and page 183 of John Ousterhout’s book.  anchor

Anchor type. Denotes where the packer is to place each slave in its parcel.  expand

Boolean, 0 or 1.  fill

Legal values: 'x', 'y', 'both', 'none'.  ipadx and ipady

A distance - designating internal padding on each side of the slave widget.  padx and pady

A distance - designating external padding on each side of the slave widget.  side

Legal values are: 'left', 'right', 'top', 'bottom'.   Coupling Widget Variables The current-value setting of some widgets (like text entry widgets) can be connected directly to application variables by using special options. These options are variable, textvariable, onvalue, offvalue, and value. This connection works both ways: if the variable changes for any reason, the widget it’s connected to will be updated to reflect the new value. Unfortunately, in the current implementation of tkinter it is not possible to hand over an arbitrary Python variable to a widget through a variable or textvariable option. The only kinds of variables for which this works are variables that are subclassed from a class called Variable, defined in tkinter. There are many useful subclasses of Variable already defined: StringVar, IntVar, DoubleVar, and BooleanVar. To read the current value of such a variable, call the get() method on it, and to change its value you call the set() method. If you follow this protocol, the widget will always track the value of the variable, with no further intervention on your part. For example: import tkinter as tk

class App(tk.Frame):
    def __init__(self, master):
        super().__init__(master)
        self.pack()

        self.entrythingy = tk.Entry()
        self.entrythingy.pack()

        # Create the application variable.
        self.contents = tk.StringVar()
        # Set it to some value.
        self.contents.set("this is a variable")
        # Tell the entry widget to watch this variable.
        self.entrythingy["textvariable"] = self.contents

        # Define a callback for when the user hits return.
        # It prints the current value of the variable.
        self.entrythingy.bind('<Key-Return>',
                             self.print_contents)

    def print_contents(self, event):
        print("Hi. The current entry content is:",
              self.contents.get())

root = tk.Tk()
myapp = App(root)
myapp.mainloop()
 The Window Manager In Tk, there is a utility command, wm, for interacting with the window manager. Options to the wm command allow you to control things like titles, placement, icon bitmaps, and the like. In tkinter, these commands have been implemented as methods on the Wm class. Toplevel widgets are subclassed from the Wm class, and so can call the Wm methods directly. To get at the toplevel window that contains a given widget, you can often just refer to the widget’s master. Of course if the widget has been packed inside of a frame, the master won’t represent a toplevel window. To get at the toplevel window that contains an arbitrary widget, you can call the _root() method. This method begins with an underscore to denote the fact that this function is part of the implementation, and not an interface to Tk functionality. Here are some examples of typical usage: import tkinter as tk

class App(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.pack()

# create the application
myapp = App()

#
# here are method calls to the window manager class
#
myapp.master.title("My Do-Nothing Application")
myapp.master.maxsize(1000, 400)

# start the program
myapp.mainloop()
 Tk Option Data Types  anchor

Legal values are points of the compass: "n", "ne", "e", "se", "s", "sw", "w", "nw", and also "center".  bitmap

There are eight built-in, named bitmaps: 'error', 'gray25', 'gray50', 'hourglass', 'info', 'questhead', 'question', 'warning'. To specify an X bitmap filename, give the full path to the file, preceded with an @, as in "@/usr/contrib/bitmap/gumby.bit".  boolean

You can pass integers 0 or 1 or the strings "yes" or "no".  callback

This is any Python function that takes no arguments. For example: def print_it():
    print("hi there")
fred["command"] = print_it
  color

Colors can be given as the names of X colors in the rgb.txt file, or as strings representing RGB values in 4 bit: "#RGB", 8 bit: "#RRGGBB", 12 bit” "#RRRGGGBBB", or 16 bit "#RRRRGGGGBBBB" ranges, where R,G,B here represent any legal hex digit. See page 160 of Ousterhout’s book for details.  cursor

The standard X cursor names from cursorfont.h can be used, without the XC_ prefix. For example to get a hand cursor (XC_hand2), use the string "hand2". You can also specify a bitmap and mask file of your own. See page 179 of Ousterhout’s book.  distance

Screen distances can be specified in either pixels or absolute distances. Pixels are given as numbers and absolute distances as strings, with the trailing character denoting units: c for centimetres, i for inches, m for millimetres, p for printer’s points. For example, 3.5 inches is expressed as "3.5i".  font

Tk uses a list font name format, such as {courier 10 bold}. Font sizes with positive numbers are measured in points; sizes with negative numbers are measured in pixels.  geometry

This is a string of the form widthxheight, where width and height are measured in pixels for most widgets (in characters for widgets displaying text). For example: fred["geometry"] = "200x100".  justify

Legal values are the strings: "left", "center", "right", and "fill".  region

This is a string with four space-delimited elements, each of which is a legal distance (see above). For example: "2 3 4 5" and "3i 2i 4.5i 2i" and "3c 2c 4c 10.43c" are all legal regions.  relief

Determines what the border style of a widget will be. Legal values are: "raised", "sunken", "flat", "groove", and "ridge".  scrollcommand

This is almost always the set() method of some scrollbar widget, but can be any widget method that takes a single argument.  wrap

Must be one of: "none", "char", or "word".   Bindings and Events The bind method from the widget command allows you to watch for certain events and to have a callback function trigger when that event type occurs. The form of the bind method is: def bind(self, sequence, func, add=''):
 where:  sequence

is a string that denotes the target kind of event. (See the bind man page and page 201 of John Ousterhout’s book for details).  func

is a Python function, taking one argument, to be invoked when the event occurs. An Event instance will be passed as the argument. (Functions deployed this way are commonly known as callbacks.)  add

is optional, either '' or '+'. Passing an empty string denotes that this binding is to replace any other bindings that this event is associated with. Passing a '+' means that this function is to be added to the list of functions bound to this event type.   For example: def turn_red(self, event):
    event.widget["activeforeground"] = "red"

self.button.bind("<Enter>", self.turn_red)
 Notice how the widget field of the event is being accessed in the turn_red() callback. This field contains the widget that caught the X event. The following table lists the other event fields you can access, and how they are denoted in Tk, which can be useful when referring to the Tk man pages.
Tk Tkinter Event Field Tk Tkinter Event Field
%f focus %A char
%h height %E send_event
%k keycode %K keysym
%s state %N keysym_num
%t time %T type
%w width %W widget
%x x %X x_root
%y y %Y y_root   The index Parameter A number of widgets require “index” parameters to be passed. These are used to point at a specific place in a Text widget, or to particular characters in an Entry widget, or to particular menu items in a Menu widget.  Entry widget indexes (index, view index, etc.)

Entry widgets have options that refer to character positions in the text being displayed. You can use these tkinter functions to access these special points in text widgets:  Text widget indexes

The index notation for Text widgets is very rich and is best described in the Tk man pages.  Menu indexes (menu.invoke(), menu.entryconfig(), etc.)

Some options and methods for menus manipulate specific menu entries. Anytime a menu index is needed for an option or a parameter, you may pass in:  an integer which refers to the numeric position of the entry in the widget, counted from the top, starting with 0; the string "active", which refers to the menu position that is currently under the cursor; the string "last" which refers to the last menu item; An integer preceded by @, as in @6, where the integer is interpreted as a y pixel coordinate in the menu’s coordinate system; the string "none", which indicates no menu entry at all, most often used with menu.activate() to deactivate all entries, and finally, a text string that is pattern matched against the label of the menu entry, as scanned from the top of the menu to the bottom. Note that this index type is considered after all the others, which means that matches for menu items labelled last, active, or none may be interpreted as the above literals, instead.    Images Images of different formats can be created through the corresponding subclass of tkinter.Image:
BitmapImage for images in XBM format.
PhotoImage for images in PGM, PPM, GIF and PNG formats. The latter is supported starting with Tk 8.6.  Either type of image is created through either the file or the data option (other options are available as well). The image object can then be used wherever an image option is supported by some widget (e.g. labels, buttons, menus). In these cases, Tk will not keep a reference to the image. When the last Python reference to the image object is deleted, the image data is deleted as well, and Tk will display an empty box wherever the image was used.  See also The Pillow package adds support for formats such as BMP, JPEG, TIFF, and WebP, among others.  File Handlers Tk allows you to register and unregister a callback function which will be called from the Tk mainloop when I/O is possible on a file descriptor. Only one handler may be registered per file descriptor. Example code: import tkinter
widget = tkinter.Tk()
mask = tkinter.READABLE | tkinter.WRITABLE
widget.tk.createfilehandler(file, mask, callback)
...
widget.tk.deletefilehandler(file)
 This feature is not available on Windows. Since you don’t know how many bytes are available for reading, you may not want to use the BufferedIOBase or TextIOBase read() or readline() methods, since these will insist on reading a predefined number of bytes. For sockets, the recv() or recvfrom() methods will work fine; for other files, use raw reads or os.read(file.fileno(), maxbytecount).
Widget.tk.createfilehandler(file, mask, func)
Registers the file handler callback function func. The file argument may either be an object with a fileno() method (such as a file or socket object), or an integer file descriptor. The mask argument is an ORed combination of any of the three constants below. The callback is called as follows: callback(file, mask)

Widget.tk.deletefilehandler(file)
Unregisters a file handler.

tkinter.READABLE
tkinter.WRITABLE
tkinter.EXCEPTION
Constants used in the mask arguments.


tkinter.colorchooser — Color choosing dialog Source code: Lib/tkinter/colorchooser.py The tkinter.colorchooser module provides the Chooser class as an interface to the native color picker dialog. Chooser implements a modal color choosing dialog window. The Chooser class inherits from the Dialog class.
class tkinter.colorchooser.Chooser(master=None, **options)

tkinter.colorchooser.askcolor(color=None, **options)
Create a color choosing dialog. A call to this method will show the window, wait for the user to make a selection, and return the selected color (or None) to the caller.
  See also
Module tkinter.commondialog

Tkinter standard dialog module


tkinter.colorchooser.askcolor(color=None, **options)
Create a color choosing dialog. A call to this method will show the window, wait for the user to make a selection, and return the selected color (or None) to the caller.


class tkinter.commondialog.Dialog(master=None, **options)

show(color=None, **options)
Render the Dialog window.


show(color=None, **options)
Render the Dialog window.


tkinter.dnd — Drag and drop support Source code: Lib/tkinter/dnd.py  Note This is experimental and due to be deprecated when it is replaced with the Tk DND.  The tkinter.dnd module provides drag-and-drop support for objects within a single application, within the same window or between windows. To enable an object to be dragged, you must create an event binding for it that starts the drag-and-drop process. Typically, you bind a ButtonPress event to a callback function that you write (see Bindings and Events). The function should call dnd_start(), where ‘source’ is the object to be dragged, and ‘event’ is the event that invoked the call (the argument to your callback function). Selection of a target object occurs as follows:  Top-down search of area under mouse for target widget   Target widget should have a callable dnd_accept attribute If dnd_accept is not present or returns None, search moves to parent widget If no target widget is found, then the target object is None   Call to <old_target>.dnd_leave(source, event)
 Call to <new_target>.dnd_enter(source, event)
 Call to <target>.dnd_commit(source, event) to notify of drop Call to <source>.dnd_end(target, event) to signal end of drag-and-drop
class tkinter.dnd.DndHandler(source, event)
The DndHandler class handles drag-and-drop events tracking Motion and ButtonRelease events on the root of the event widget.
cancel(event=None)
Cancel the drag-and-drop process.

finish(event, commit=0)
Execute end of drag-and-drop functions.

on_motion(event)
Inspect area below mouse for target objects while drag is performed.

on_release(event)
Signal end of drag when the release pattern is triggered.

tkinter.dnd.dnd_start(source, event)
Factory function for drag-and-drop process.
  See also Bindings and Events


class tkinter.dnd.DndHandler(source, event)
The DndHandler class handles drag-and-drop events tracking Motion and ButtonRelease events on the root of the event widget.
cancel(event=None)
Cancel the drag-and-drop process.

finish(event, commit=0)
Execute end of drag-and-drop functions.

on_motion(event)
Inspect area below mouse for target objects while drag is performed.

on_release(event)
Signal end of drag when the release pattern is triggered.


cancel(event=None)
Cancel the drag-and-drop process.


finish(event, commit=0)
Execute end of drag-and-drop functions.


on_motion(event)
Inspect area below mouse for target objects while drag is performed.


on_release(event)
Signal end of drag when the release pattern is triggered.


tkinter.dnd.dnd_start(source, event)
Factory function for drag-and-drop process.


tkinter.READABLE
tkinter.WRITABLE
tkinter.EXCEPTION
Constants used in the mask arguments.


tkinter.filedialog.askopenfile(mode="r", **options)
tkinter.filedialog.askopenfiles(mode="r", **options)
The above two functions create an Open dialog and return the opened file object(s) in read-only mode.


tkinter.filedialog.askopenfilename(**options)
tkinter.filedialog.askopenfilenames(**options)
The above two functions create an Open dialog and return the selected filename(s) that correspond to existing file(s).


tkinter.filedialog.asksaveasfile(mode="w", **options)
Create a SaveAs dialog and return a file object opened in write-only mode.


tkinter.filedialog.asksaveasfilename(**options)
Create a SaveAs dialog and return the selected filename.


class tkinter.filedialog.Directory(master=None, **options)
Create a dialog prompting the user to select a directory.


class tkinter.filedialog.FileDialog(master, title=None)
Create a basic file selection dialog.
cancel_command(event=None)
Trigger the termination of the dialog window.

dirs_double_event(event)
Event handler for double-click event on directory.

dirs_select_event(event)
Event handler for click event on directory.

files_double_event(event)
Event handler for double-click event on file.

files_select_event(event)
Event handler for single-click event on file.

filter_command(event=None)
Filter the files by directory.

get_filter()
Retrieve the file filter currently in use.

get_selection()
Retrieve the currently selected item.

go(dir_or_file=os.curdir, pattern="*", default="", key=None)
Render dialog and start event loop.

ok_event(event)
Exit dialog returning current selection.

quit(how=None)
Exit dialog returning filename, if any.

set_filter(dir, pat)
Set the file filter.

set_selection(file)
Update the current file selection to file.


cancel_command(event=None)
Trigger the termination of the dialog window.


dirs_double_event(event)
Event handler for double-click event on directory.


dirs_select_event(event)
Event handler for click event on directory.


files_double_event(event)
Event handler for double-click event on file.


files_select_event(event)
Event handler for single-click event on file.


filter_command(event=None)
Filter the files by directory.


get_filter()
Retrieve the file filter currently in use.


get_selection()
Retrieve the currently selected item.


go(dir_or_file=os.curdir, pattern="*", default="", key=None)
Render dialog and start event loop.


ok_event(event)
Exit dialog returning current selection.


quit(how=None)
Exit dialog returning filename, if any.


set_filter(dir, pat)
Set the file filter.


set_selection(file)
Update the current file selection to file.


class tkinter.filedialog.LoadFileDialog(master, title=None)
A subclass of FileDialog that creates a dialog window for selecting an existing file.
ok_command()
Test that a file is provided and that the selection indicates an already existing file.


ok_command()
Test that a file is provided and that the selection indicates an already existing file.


class tkinter.filedialog.Open(master=None, **options)
class tkinter.filedialog.SaveAs(master=None, **options)
The above two classes provide native dialog windows for saving and loading files.


class tkinter.filedialog.SaveFileDialog(master, title=None)
A subclass of FileDialog that creates a dialog window for selecting a destination file.
ok_command()
Test whether or not the selection points to a valid file that is not a directory. Confirmation is required if an already existing file is selected.


ok_command()
Test whether or not the selection points to a valid file that is not a directory. Confirmation is required if an already existing file is selected.


tkinter.font — Tkinter font wrapper Source code: Lib/tkinter/font.py The tkinter.font module provides the Font class for creating and using named fonts. The different font weights and slants are:
tkinter.font.NORMAL
tkinter.font.BOLD
tkinter.font.ITALIC
tkinter.font.ROMAN

class tkinter.font.Font(root=None, font=None, name=None, exists=False, **options)
The Font class represents a named font. Font instances are given unique names and can be specified by their family, size, and style configuration. Named fonts are Tk’s method of creating and identifying fonts as a single object, rather than specifying a font by its attributes with each occurrence. arguments: additional keyword options (ignored if font is specified):
actual(option=None, displayof=None)
Return the attributes of the font.

cget(option)
Retrieve an attribute of the font.

config(**options)
Modify attributes of the font.

copy()
Return new instance of the current font.

measure(text, displayof=None)
Return amount of space the text would occupy on the specified display when formatted in the current font. If no display is specified then the main application window is assumed.

metrics(*options, **kw)
Return font-specific data. Options include:
ascent - distance between baseline and highest point that a

character of the font can occupy
descent - distance between baseline and lowest point that a

character of the font can occupy
linespace - minimum vertical separation necessary between any two

characters of the font that ensures no vertical overlap between lines.   fixed - 1 if font is fixed-width else 0

tkinter.font.families(root=None, displayof=None)
Return the different font families.

tkinter.font.names(root=None)
Return the names of defined fonts.

tkinter.font.nametofont(name)
Return a Font representation of a tk named font.


tkinter.font.NORMAL
tkinter.font.BOLD
tkinter.font.ITALIC
tkinter.font.ROMAN


tkinter.font.families(root=None, displayof=None)
Return the different font families.


class tkinter.font.Font(root=None, font=None, name=None, exists=False, **options)
The Font class represents a named font. Font instances are given unique names and can be specified by their family, size, and style configuration. Named fonts are Tk’s method of creating and identifying fonts as a single object, rather than specifying a font by its attributes with each occurrence. arguments: additional keyword options (ignored if font is specified):
actual(option=None, displayof=None)
Return the attributes of the font.

cget(option)
Retrieve an attribute of the font.

config(**options)
Modify attributes of the font.

copy()
Return new instance of the current font.

measure(text, displayof=None)
Return amount of space the text would occupy on the specified display when formatted in the current font. If no display is specified then the main application window is assumed.

metrics(*options, **kw)
Return font-specific data. Options include:
ascent - distance between baseline and highest point that a

character of the font can occupy
descent - distance between baseline and lowest point that a

character of the font can occupy
linespace - minimum vertical separation necessary between any two

characters of the font that ensures no vertical overlap between lines.   fixed - 1 if font is fixed-width else 0


actual(option=None, displayof=None)
Return the attributes of the font.


cget(option)
Retrieve an attribute of the font.


config(**options)
Modify attributes of the font.


copy()
Return new instance of the current font.


measure(text, displayof=None)
Return amount of space the text would occupy on the specified display when formatted in the current font. If no display is specified then the main application window is assumed.


metrics(*options, **kw)
Return font-specific data. Options include:
ascent - distance between baseline and highest point that a

character of the font can occupy
descent - distance between baseline and lowest point that a

character of the font can occupy
linespace - minimum vertical separation necessary between any two

characters of the font that ensures no vertical overlap between lines.   fixed - 1 if font is fixed-width else 0


tkinter.font.names(root=None)
Return the names of defined fonts.


tkinter.font.nametofont(name)
Return a Font representation of a tk named font.


tkinter.messagebox — Tkinter message prompts Source code: Lib/tkinter/messagebox.py The tkinter.messagebox module provides a template base class as well as a variety of convenience methods for commonly used configurations. The message boxes are modal and will return a subset of (True, False, OK, None, Yes, No) based on the user’s selection. Common message box styles and layouts include but are not limited to:
class tkinter.messagebox.Message(master=None, **options)
Create a default information message box.
 Information message box
tkinter.messagebox.showinfo(title=None, message=None, **options)
 Warning message boxes
tkinter.messagebox.showwarning(title=None, message=None, **options)
tkinter.messagebox.showerror(title=None, message=None, **options)
 Question message boxes
tkinter.messagebox.askquestion(title=None, message=None, **options)
tkinter.messagebox.askokcancel(title=None, message=None, **options)
tkinter.messagebox.askretrycancel(title=None, message=None, **options)
tkinter.messagebox.askyesno(title=None, message=None, **options)
tkinter.messagebox.askyesnocancel(title=None, message=None, **options)


tkinter.messagebox.askquestion(title=None, message=None, **options)
tkinter.messagebox.askokcancel(title=None, message=None, **options)
tkinter.messagebox.askretrycancel(title=None, message=None, **options)
tkinter.messagebox.askyesno(title=None, message=None, **options)
tkinter.messagebox.askyesnocancel(title=None, message=None, **options)


class tkinter.messagebox.Message(master=None, **options)
Create a default information message box.


tkinter.messagebox.showwarning(title=None, message=None, **options)
tkinter.messagebox.showerror(title=None, message=None, **options)


tkinter.READABLE
tkinter.WRITABLE
tkinter.EXCEPTION
Constants used in the mask arguments.


tkinter.scrolledtext — Scrolled Text Widget Source code: Lib/tkinter/scrolledtext.py The tkinter.scrolledtext module provides a class of the same name which implements a basic text widget which has a vertical scroll bar configured to do the “right thing.” Using the ScrolledText class is a lot easier than setting up a text widget and scroll bar directly. The text widget and scrollbar are packed together in a Frame, and the methods of the Grid and Pack geometry managers are acquired from the Frame object. This allows the ScrolledText widget to be used directly to achieve most normal geometry management behavior. Should more specific control be necessary, the following attributes are available:
class tkinter.scrolledtext.ScrolledText(master=None, **kw)

frame
The frame which surrounds the text and scroll bar widgets.

vbar
The scroll bar widget.


class tkinter.scrolledtext.ScrolledText(master=None, **kw)

frame
The frame which surrounds the text and scroll bar widgets.

vbar
The scroll bar widget.


frame
The frame which surrounds the text and scroll bar widgets.


tkinter.simpledialog.askfloat(title, prompt, **kw)
tkinter.simpledialog.askinteger(title, prompt, **kw)
tkinter.simpledialog.askstring(title, prompt, **kw)
The above three functions provide dialogs that prompt the user to enter a value of the desired type.


class tkinter.simpledialog.Dialog(parent, title=None)
The base class for custom dialogs.
body(master)
Override to construct the dialog’s interface and return the widget that should have initial focus.

buttonbox()
Default behaviour adds OK and Cancel buttons. Override for custom button layouts.


body(master)
Override to construct the dialog’s interface and return the widget that should have initial focus.


buttonbox()
Default behaviour adds OK and Cancel buttons. Override for custom button layouts.


tkinter.Tcl(screenName=None, baseName=None, className='Tk', useTk=0)
The Tcl() function is a factory function which creates an object much like that created by the Tk class, except that it does not initialize the Tk subsystem. This is most often useful when driving the Tcl interpreter in an environment where one doesn’t want to create extraneous toplevel windows, or where one cannot (such as Unix/Linux systems without an X server). An object created by the Tcl() object can have a Toplevel window created (and the Tk subsystem initialized) by calling its loadtk() method.


tkinter.tix — Extension widgets for Tk Source code: Lib/tkinter/tix.py  Deprecated since version 3.6: This Tk extension is unmaintained and should not be used in new code. Use tkinter.ttk instead.  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.    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')
 Tix Widgets Tix introduces over 40 widget classes to the tkinter repertoire. Basic Widgets
class tkinter.tix.Balloon
A Balloon 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.

class tkinter.tix.ButtonBox
The ButtonBox widget creates a box of buttons, such as is commonly used for Ok Cancel.

class tkinter.tix.ComboBox
The ComboBox widget is similar to the combo box control in MS Windows. The user can select a choice by either typing in the entry subwidget or selecting from the listbox subwidget.

class tkinter.tix.Control
The Control widget is also known as the 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.

class tkinter.tix.LabelEntry
The LabelEntry widget packages an entry widget and a label into one mega widget. It can be used to simplify the creation of “entry-form” type of interface.

class tkinter.tix.LabelFrame
The LabelFrame 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 frame subwidget and manage them inside the frame subwidget.

class tkinter.tix.Meter
The Meter widget can be used to show the progress of a background job which may take a long time to execute.

class tkinter.tix.OptionMenu
The OptionMenu creates a menu button of options.

class tkinter.tix.PopupMenu
The PopupMenu widget can be used as a replacement of the tk_popup command. The advantage of the Tix PopupMenu widget is it requires less application code to manipulate.

class tkinter.tix.Select
The Select 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.

class tkinter.tix.StdButtonBox
The StdButtonBox widget is a group of standard buttons for Motif-like dialog boxes.
 File Selectors
class tkinter.tix.DirList
The DirList widget displays a list 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.

class tkinter.tix.DirTree
The DirTree 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.

class tkinter.tix.DirSelectDialog
The DirSelectDialog 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.

class tkinter.tix.DirSelectBox
The DirSelectBox is similar to the standard Motif(TM) directory-selection box. It is generally used for the user to choose a directory. DirSelectBox stores the directories mostly recently selected into a ComboBox widget so that they can be quickly selected again.

class tkinter.tix.ExFileSelectBox
The ExFileSelectBox widget is usually embedded in a tixExFileSelectDialog widget. It provides a convenient method for the user to select files. The style of the ExFileSelectBox widget is very similar to the standard file dialog on MS Windows 3.1.

class tkinter.tix.FileSelectBox
The FileSelectBox 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.

class tkinter.tix.FileEntry
The FileEntry 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.
 Hierarchical ListBox
class tkinter.tix.HList
The HList 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 hierarchy.

class tkinter.tix.CheckList
The CheckList 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.

class tkinter.tix.Tree
The Tree widget can be used to display hierarchical data in a tree form. The user can adjust the view of the tree by opening or closing parts of the tree.
 Tabular ListBox
class tkinter.tix.TList
The TList 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.
 Manager Widgets
class tkinter.tix.PanedWindow
The PanedWindow 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.

class tkinter.tix.ListNoteBook
The ListNoteBook 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 hlist subwidget.

class tkinter.tix.NoteBook
The NoteBook 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.
 Image Types The tkinter.tix module adds:
pixmap capabilities to all tkinter.tix and tkinter widgets to create color images from XPM files.
Compound image types can be used to create images that consists of multiple horizontal lines; each line is composed of a series of items (texts, bitmaps, images or spaces) arranged from left to right. For example, a compound image can be used to display a bitmap and a text string simultaneously in a Tk Button widget.   Miscellaneous Widgets
class tkinter.tix.InputOnly
The InputOnly widgets are to accept inputs from the user, which can be done with the bind command (Unix only).
 Form Geometry Manager In addition, tkinter.tix augments tkinter by providing:
class tkinter.tix.Form
The Form geometry manager based on attachment rules for all Tk widgets.
 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: from tkinter import tix
root = tix.Tk()
print(root.tix_configure())

tixCommand.tix_configure(cnf=None, **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.


class tkinter.tix.Balloon
A Balloon 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.


class tkinter.tix.ButtonBox
The ButtonBox widget creates a box of buttons, such as is commonly used for Ok Cancel.


class tkinter.tix.CheckList
The CheckList 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.


class tkinter.tix.ComboBox
The ComboBox widget is similar to the combo box control in MS Windows. The user can select a choice by either typing in the entry subwidget or selecting from the listbox subwidget.


class tkinter.tix.Control
The Control widget is also known as the 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.


class tkinter.tix.DirList
The DirList widget displays a list 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.


class tkinter.tix.DirSelectBox
The DirSelectBox is similar to the standard Motif(TM) directory-selection box. It is generally used for the user to choose a directory. DirSelectBox stores the directories mostly recently selected into a ComboBox widget so that they can be quickly selected again.


class tkinter.tix.DirSelectDialog
The DirSelectDialog 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.


class tkinter.tix.DirTree
The DirTree 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.


class tkinter.tix.ExFileSelectBox
The ExFileSelectBox widget is usually embedded in a tixExFileSelectDialog widget. It provides a convenient method for the user to select files. The style of the ExFileSelectBox widget is very similar to the standard file dialog on MS Windows 3.1.


class tkinter.tix.FileEntry
The FileEntry 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.


class tkinter.tix.FileSelectBox
The FileSelectBox 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.


class tkinter.tix.Form
The Form geometry manager based on attachment rules for all Tk widgets.


class tkinter.tix.HList
The HList 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 hierarchy.


class tkinter.tix.InputOnly
The InputOnly widgets are to accept inputs from the user, which can be done with the bind command (Unix only).


class tkinter.tix.LabelEntry
The LabelEntry widget packages an entry widget and a label into one mega widget. It can be used to simplify the creation of “entry-form” type of interface.


class tkinter.tix.LabelFrame
The LabelFrame 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 frame subwidget and manage them inside the frame subwidget.


class tkinter.tix.ListNoteBook
The ListNoteBook 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 hlist subwidget.


class tkinter.tix.Meter
The Meter widget can be used to show the progress of a background job which may take a long time to execute.


class tkinter.tix.NoteBook
The NoteBook 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.


class tkinter.tix.OptionMenu
The OptionMenu creates a menu button of options.


class tkinter.tix.PanedWindow
The PanedWindow 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.


class tkinter.tix.PopupMenu
The PopupMenu widget can be used as a replacement of the tk_popup command. The advantage of the Tix PopupMenu widget is it requires less application code to manipulate.


class tkinter.tix.Select
The Select 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.


class tkinter.tix.StdButtonBox
The StdButtonBox widget is a group of standard buttons for Motif-like dialog boxes.


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: from tkinter import tix
root = tix.Tk()
print(root.tix_configure())


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_cget(option)
Returns the current value of the configuration option given by option. Option may be any of the configuration options.


tixCommand.tix_configure(cnf=None, **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_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_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_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.


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()


class tkinter.tix.TList
The TList 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.


class tkinter.tix.Tree
The Tree widget can be used to display hierarchical data in a tree form. The user can adjust the view of the tree by opening or closing parts of the tree.


class tkinter.Tk(screenName=None, baseName=None, className='Tk', useTk=1)
The Tk class is instantiated without arguments. This creates a toplevel widget of Tk which usually is the main window of an application. Each instance has its own associated Tcl interpreter.