2
我想突出顯示gtk.Table
中的特定行。我還希望鼠標懸停以突出顯示它具有不同的顏色(如在Web瀏覽器中的鏈接)。我想只是用一個eventBox打包每個單元格,並更改可以工作的顏色,但是鼠標懸停在事件框上並不起作用。有沒有更好的辦法?如何在gtk.Table中突出顯示一行?
我想突出顯示gtk.Table
中的特定行。我還希望鼠標懸停以突出顯示它具有不同的顏色(如在Web瀏覽器中的鏈接)。我想只是用一個eventBox打包每個單元格,並更改可以工作的顏色,但是鼠標懸停在事件框上並不起作用。有沒有更好的辦法?如何在gtk.Table中突出顯示一行?
這似乎工作:
def attach(w,c1,c2,r1,r2):
eb = gtk.EventBox()
a = gtk.Alignment(xalign=0.0,yalign=0.5)
a.add(w)
eb.add(a)
eb.set_style(self.rowStyle)
def ene(eb,ev):
eb.set_state(gtk.STATE_PRELIGHT)
def lne(eb,ev):
eb.set_state(gtk.STATE_NORMAL)
eb.connect('enter-notify-event', ene)
eb.connect('leave-notify-event', lne)
self.table.attach(eb, c1, c2, r1, r2,
xoptions=gtk.EXPAND|gtk.FILL,
yoptions=gtk.SHRINK)
它不僅突出在每個時間單元,所以我不得不改變通知事件照亮了一切。
編輯:self.rowStyle
設置如下:
tmpeb = gtk.EventBox()
st = tmpeb.get_style().copy()
st.bg[gtk.STATE_PRELIGHT] = gtk.gdk.Color(65535,65535,0)
self.rowStyle = st
我創建一個EventBox
只是爲了獲得它的風格。
'help(gtk.EventBox.set_style)'只給出了'set_style(...)',而不清楚'self.rowStyle'在你的情況下。我正在嘗試實現類似的功能(突出顯示每隔一行),並且我想這幾乎是我的問題的答案,如果您想更詳細地闡述此答案,我將不勝感激。 – wegenerd 2012-07-18 17:57:27
@swege:更新,這有幫助嗎?如果願意的話,會讚賞upvote =) – Claudiu 2012-07-18 18:05:37