TreeViewにアイコン表示

やることは、TreeViewの生成時に

column = gtk.TreeViewColumn() 
column.set_title('item')
render_pixbuf = gtk.CellRendererPixbuf()
column.pack_start(render_pixbuf,expand=False)
column.add_attribute(render_pixbuf,'pixbuf',c.COL_ICON)
render_text = gtk.CellRendererText()
column.pack_start(render_text,expand=True)
column.add_attribute(render_text,'text',c.COL_TEXT)
self.append_column(column)

こんな感じでテキストの前にpixbufを追加してやるだけでした。あとは各TreeIterのカラムに対してpixbufをset_valueしてやればアイコンが表示されます。

というわけで、コミット(Rev.21)。・・・なんですが、前回のつづきでソースを整理しているうちにあちこちいじったので変更箇所を追うのは結構大変です。モデルに関してもTreeStoreを直接使うのでなく派生クラスを使うことにしました。おかげでだいぶモデルとビューとロジックを分離できてきたかな。