By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,784 Members | 1,287 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,784 IT Pros & Developers. It's quick & easy.

Change Tkinter Look and Feel?

P: n/a
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 18 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
mm*****@tx3.com (Martin) wrote in message news:<78**************************@posting.google. com>...
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.


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

Michael
Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.