這是一個樣例,當鼠標在它上面時將「退出」菜單置於白色。希望它能幫助你!
#!/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