Nice tutorial.
I did spot a slightly better (more Pythonic) way on line 34:
for i in range(len(columns)):
# cellrenderer to render the text
cell = Gtk.CellRendererText()
# the text in the first column should be in boldface
if i == 0:
cell.props.weight_set = True
cell.props.weight = Pango.Weight.BOLD
# the column is created
col = Gtk.TreeViewColumn(columns[i], cell, text=i)
# and it is appended to the treeview
view.append_column(col)
for i, column in enumerate(columns):
# cellrenderer to render the text
cell = Gtk.CellRendererText()
# the text in the first column should be in boldface
if i == 0:
cell.props.weight_set = True
cell.props.weight = Pango.Weight.BOLD
# the column is created
col = Gtk.TreeViewColumn(column, cell, text=i)
# and it is appended to the treeview
view.append_column(col)
Basically, the built-in function enumerate() should be used instead of range(len(foo)).