3
當我有gtk.CellRendererText
時,我可以將它的顏色與其中一個樹存儲的列相關聯,並將foreground-set
屬性設置爲True,以更改該列中文本的顏色。但是,當選中具有彩色列的行時,其顏色消失,並且與任何選定單元格的顏色相同。選擇時如何更改顏色?當一行突出顯示時設置cellrendertext前景色
當我有gtk.CellRendererText
時,我可以將它的顏色與其中一個樹存儲的列相關聯,並將foreground-set
屬性設置爲True,以更改該列中文本的顏色。但是,當選中具有彩色列的行時,其顏色消失,並且與任何選定單元格的顏色相同。選擇時如何更改顏色?當一行突出顯示時設置cellrendertext前景色
我遇到了同樣的問題,在嘗試不同的替代方案後,使用markup
屬性而不是text
屬性解決了問題。請在下面找到並例子在Ubuntu特立獨行的作品:
#!/usr/bin/python
import gtk
class Application(object):
def __init__(self):
window = gtk.Window()
model = gtk.TreeStore(str)
model.append(None, row=('Normal row',))
model.append(None, row=('<span foreground="red">Red row</span>',))
treeview = gtk.TreeView(model)
renderer = gtk.CellRendererText()
column = gtk.TreeViewColumn('Column', renderer, markup=0)
treeview.append_column(column)
scrolled_window = gtk.ScrolledWindow()
scrolled_window.add(treeview)
window.add(scrolled_window)
window.connect('destroy', lambda w: gtk.main_quit())
window.show_all()
def run(self):
gtk.main()
if __name__ == '__main__':
Application().run()
在與多列一個更復雜的樹狀是我的工作,在markup
屬性似乎不工作的時候沒有選擇的行。無論如何,使用markup
和屬性在同一時間似乎工作正常。
yeup很奇怪..謝謝一堆,雖然使用兩個作品! – Claudiu 2010-12-06 19:12:51
[PyGTK常見問題解答](http://faq.pygtk.org/index.py?req=show&file=faq13.031.htp)提及「此方法[標記]和上述[屬性]之間的一個區別是無論該行是選中還是焦點,其效果都適用。「但我仍然懷疑,如果沒有標記是可能的。 – antoyo 2016-10-27 21:52:31