这是一个样例,当鼠标在它上面时将“退出”菜单置于白色。希望它能帮助你!
#!/usr/bin/python
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Simple menu")
self.set_size_request(250, 200)
self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(6400, 6400, 6440))
self.set_position(gtk.WIN_POS_CENTER)
mb = gtk.MenuBar()
filemenu = gtk.Menu()
filem = gtk.MenuItem("File")
filem.set_submenu(filemenu)
exit = gtk.MenuItem("Exit")
style = exit.get_style().copy()
style.bg[gtk.STATE_NORMAL] = exit.get_colormap().alloc_color (0xffff, 0x0000, 0x0000)
exit.set_style (style)
exit.connect("activate", gtk.main_quit)
filemenu.append(exit)
mb.append(filem)
vbox = gtk.VBox(False, 2)
vbox.pack_start(mb, False, False, 0)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
PyApp()
gtk.main()
要做到这一点,我玩“风格”。
看起来像你不能。我试过在C中没有运气:(我没有看看源代码,但我猜MenuItem没有“NORMAL”状态?如果你将状态参数改成STATE_SELECTED,它会改变背景颜色在老鼠身上 – qingbo
这就是我为什么不喜欢Gtk的原因(感觉事情是这样的,所以不能设计一个人的图形用户界面)感谢+也许你应该把它作为答案。 – Benjamin
@Benjamin,所以你不能设计你的GUI风格,GTK的设计哲学是,主题应该留给用户,应用程序应该呈现一致的外观,而且GTK的一大卖点是可访问性。如果用户想要颜色,他们会安装一个丰富多彩的主题,所以推理。 – ptomato