Searching for a ComboBox for Tkinter?
Martin Franklin
mart.franklin at gmail.com
Sun Mar 13 15:26:14 EST 2005
Harlin Seritt wrote:
> I've created a ghetto-ized ComboBox that should work nicely for Tkinter
> (unfortunately no dropdown capabilities yet).
>
> I've found why it's such a pain in the @ss to create one. You have to
> re-create common methods and make sure they're mapped to the right
> component (inside this widget are frame, entry, listbox, and scrollbar
> widgets). I tried to look for ways I could inherit some methods from
> other widgets but couldn't think of how to do it in an efficient way.
>
> If anyone has suggestions to improve it, please respond... Remember...
> I'm a traditional c/c++ turned python programmer who forgets that there
> usually is a better, faster more graceful way to do things with Python
> than with C/C++/Java.
>
> Cheers,
>
> Harlin
>
> ######################################################################
> # Seritt Extensions:
> # Date: 02262005
> # Class ComboBox
> # Add this section to your Tkinter.py file in 'PYTHONPATH/Lib/lib-tk/'
> # Options: width, border, background, foreground, fg, bg, font
> # , relief, cursor, exportselection, selectbackgroun,
> selectforeground, height
> #
> # Methods: activate(int index) => int, curselection() => int,
> delete(item=["ALL" or int], start=int, end=["END" or
> # int],
> # focus_set()/focus(), get()=>selected string in box, pack(padx=int,
> pady=int, fill(X, Y, BOTH), expand=bool, # side=LEFT,
> # RIGHT, TOP, BOTTOM, CENTER
> #
>
> class ComboBox:
Why not extend an existing Tkinter widget? This way you get at
least the geometry (pack, grid etc) methods thown in for free!
class ComboBox(Frame):
def __init__(self, parent, *args, **kw):
Frame.__init__(self, parent, *args, **kw)
You could extend Entry above is just an example...
Also worth pointing out are a couple of ComboBox's out there already
Pmw includes one as does Tix (IIRC)
Cheers,
Martin.
More information about the Python-list
mailing list