Pmw.ComboBox() - dropdown or simple combination box
A combobox contains 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.
bbox()
method. Without this explicit forwarding,
the bbox()
method (aliased to grid_bbox()
) of the hull would
be invoked, which is probably not what the programmer intended.
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)
Pmw 2.1 -
31 Dec 2020
- Home
Manual page last reviewed: 1 November 1998