18.3. The TList Widget
The TList widget is very similar to a Listbox, because it displays a list of things. The Listbox is limited to displaying lists of text strings. The TList widget can display any item type, and each item can be a different color and/or font. One of the most common questions asked about a Listbox is whether it can display different color items. The answer to that is no, but a TList can. The TList can also handle displaying multiple columns of items.
When you create a TList, you specify options just as you would when creating any other widget. These options are completely standard and behave as expected: -background, -borderwidth, -class, -command, -cursor, -foreground, -font, -height, -highlightcolor, -highlightthickness, -padx, -pady, -relief, -selectbackground, -selectborderwidth, -selectforeground, -selectmode, -state, -xscrollcommand, -yscrollcommand, and -width.
The following options are specific to a TList widget:
To see how the TList looks different from a Listbox, take a look at Figure 18-4.
Figure 18-4. A TList showing the 'vertical' orientation
Scrollbars don't work quite as expected with a TList because of the automatic column feature. When using a vertical orientation on a TList, a horizontal scrollbar will work just fine, but a vertical one will never do anything because the TList wraps to the next column based on the current height of the window, regardless of whether there is a vertical scrollbar.
18.3.1. TList Indexes and Methods
Index specification works exactly the same way in a TList as it does in a Listbox. Please refer to Chapter 7, "The Listbox Widget" for information on index specification.
All of the methods listed as part of a Listbox work with the TList as well. The insert method for a TList is slightly different from a Listbox widget. It accepts the following additional option/value pairs related to item styles and creating display items:
Copyright © 2002 O'Reilly & Associates. All rights reserved.