Change Tkinter Look and Feel?

Discussion in 'Python' started by Martin, Jul 17, 2004.

  1. Martin

    Martin Guest

    Anybody know how to change the menu button that is displayed by the
    Tkinter Menubutton and the (derived from it) OptionMenu classes? I
    think it must be something from the Motif look and feel which doesn't
    fit with my appl which is designed primarily for running on Windows
    and OS X.

    The default button visual that appears is basically a small rectangle
    drawn in relief inside a larger one. I'd like to replace this with a
    downward pointing arrow to indicate the drop-down menu.

    I tried configuring the the OptionMenu widget with the 'image' keyword
    to be, but that only resulted in the image appearing next to the
    default one for the button instead replacing it. Is the look of this
    button hardcoded in the tk or tcl libraries themselves?

    The Pmw module has the same problem since it's using the standard
    Tkinter widgets internally.

    Best regards,
    Martin, Jul 17, 2004
    1. Advertisements

  2. Martin

    klappnase Guest

    If you run Tk8.4 you can use the compound option, that allows to
    display both text and images in a widget:

    o = OptionMenu(master, var, 'item1', 'item2')
    o.configure(indicatoron=0, compound='right', image=arrow)

    where arrow is a Tkinter.PhotoImage or BitmapImage instance with the
    arrow icon you want. Setting indicatoron to 0 makes the default "motif
    style" rectangle disappear.

    I hope this helps

    klappnase, Jul 17, 2004
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.