Pmw.ComboBox() - dropdown or simple combination box widget
This class creates an entry field and an associated scrolled listbox. When an item in the listbox is selected, it is displayed in the entry field. Optionally, the user may also edit the entry field directly.
For a simple combobox, the scrolled listbox is displayed beneath the entry field. For a dropdown combobox (the default), the scrolled listbox is displayed in a window which pops up beneath the entry field when the user clicks on an arrow button on the right of the entry field. Either style allows an optional label.
If None, a label component is not created. The default is None.
update_idletasks()
at the beginning of the
function. Alternatively, wrap the function using Pmw.busycallback()
. The default is None.
get()
method of the scrolledlist
component, except that if first is None then
the value of the entry field is returned.
If setentry is true, also set the entry field to the selected item.
size()
method. Without this explicit forwarding,
the size()
method (aliased to grid_size()
) of the hull would
be invoked, which is probably not what the programmer intended.
class Demo: def __init__(self, parent): parent.configure(background = 'white') # Create and pack the widget to be configured. self.target = Tkinter.Label(parent, relief = 'sunken', padx = 20, pady = 20, ) self.target.pack(fill = 'x', padx = 8, pady = 8) # Create and pack the simple ComboBox. words = ('Monti', 'Python', 'ik', 'den', 'Holie', 'Grailen', '(Bok)') simple = Pmw.ComboBox(parent, label_text = 'Simple ComboBox:', labelpos = 'nw', selectioncommand = self.changeText, scrolledlist_items = words, dropdown = 0, ) simple.pack(side = 'left', fill = 'both', expand = 1, padx = 8, pady = 8) # Display the first text. first = words[0] simple.selectitem(first) self.changeText(first) # Create and pack the dropdown ComboBox. colours = ('cornsilk1', 'snow1', 'seashell1', 'antiquewhite1', 'bisque1', 'peachpuff1', 'navajowhite1', 'lemonchiffon1', 'ivory1', 'honeydew1', 'lavenderblush1', 'mistyrose1') dropdown = Pmw.ComboBox(parent, label_text = 'Dropdown ComboBox:', labelpos = 'nw', selectioncommand = self.changeColour, scrolledlist_items = colours, ) dropdown.pack(side = 'left', anchor = 'n', fill = 'x', expand = 1, padx = 8, pady = 8) # Display the first colour. first = colours[0] dropdown.selectitem(first) self.changeColour(first) def changeColour(self, colour): print 'Colour: ' + colour self.target.configure(background = colour) def changeText(self, text): print 'Text: ' + text self.target.configure(text = text)
Home.
Pmw 0.8.5
Maintainer
gregm@iname.com.
9 Feb 2001
Manual page last reviewed: 1 November 1998