[pygtk] colored cell
John Hunter
jdh2358 at gmail.com
Thu Sep 27 22:20:58 WST 2007
I have a gtk.Treeview and I want to format negative numbers in red, as
you can do in excel for example. I tried to use pango markup, as in
the example below, but was unsuccessful -- what is the best way to do
this?
import gobject
import gtk
mydata = [('GOOG', 0.05, -0.025), ('MSFT', 0.1, -0.1), ('AAPL', -0.05, 0.10)]
model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
gobject.TYPE_STRING)
def tostr(gain):
if gain<0: return '<span color="#FF00000">%1.1f</span>'%(100*gain)
else: return '%1.1f'%(100*gain)
for ticker, gain1, gain2 in mydata:
iter = model.append()
model.set(iter, 0, ticker, 1, tostr(gain1), 2, tostr(gain2))
treeview = gtk.TreeView(model)
treeview.set_rules_hint(True)
column = gtk.TreeViewColumn('Ticker', gtk.CellRendererText(),
text=0)
treeview.append_column(column)
column = gtk.TreeViewColumn('Gain1', gtk.CellRendererText(),
text=1)
treeview.append_column(column)
column = gtk.TreeViewColumn('Gain2', gtk.CellRendererText(),
text=2)
treeview.append_column(column)
win = gtk.Window()
win.connect('destroy', lambda win: gtk.main_quit())
win.set_title('treeview demo')
win.add(treeview)
win.show_all()
gtk.main()
More information about the pygtk
mailing list