実に役立つPyGtk FAQサイトを発見した。(英語だが)
http://www.async.com.br/faq/pygtk/
PyGTK FAQ Wizard
迷ったらココだ!
というわけで、このページから得た情報と俺の実験の結果をまとめて書いておこう。
TreeViewにアイコン付きコラムが欲しいと思った。
まあ、実用上は要らないんだが。何事も実験だ。
そこで、gtk.CellRendererPixbufになんとかしてstock-idを渡そうと努力したんだが、どうにもならなかった。ググっても、何もでない。
大抵はPixbufを独自でつくり、そいつをCellRendererPixbufに突っ込むというやりかただ。
そこで、発想を逆に変えてみた。つまり、Pixbufにストックアイコンを読み込む方法はどうすればいいか?ということだ。
Pixbuf周りをいろいろ調べてみたのだが、どうもそういう方法がない…
そこで先ほどのFAQのページを眺めてみたら、ありました。
8.11. How do I get a Pixbuf of a stock icon?(ストックアイコンからPixbufを得るには?)
そうか…gtk.Widgetにそんな便利なメソッドがあるとは…
こいつを使い、
column = gtk.TreeViewColumn("Icons", renderer, pixbuf=0)
などとすれば、簡単にアイコンを付加できた。
そこで、文字列形式のストックID、たとえば'gtk-open'なんかはどうなる?と思い
t_pixbuf = self.BaseWindow.render_icon('gtk-open', gtk.ICON_SIZE_MENU)
とやってみたが、こいつも無事に通る。問題なし。
いや、わかってみれば簡単な話だった。
http://www.async.com.br/faq/pygtk/
PyGTK FAQ Wizard
迷ったらココだ!
というわけで、このページから得た情報と俺の実験の結果をまとめて書いておこう。
TreeViewにアイコン付きコラムが欲しいと思った。
まあ、実用上は要らないんだが。何事も実験だ。
そこで、gtk.CellRendererPixbufになんとかしてstock-idを渡そうと努力したんだが、どうにもならなかった。ググっても、何もでない。
大抵はPixbufを独自でつくり、そいつをCellRendererPixbufに突っ込むというやりかただ。
そこで、発想を逆に変えてみた。つまり、Pixbufにストックアイコンを読み込む方法はどうすればいいか?ということだ。
Pixbuf周りをいろいろ調べてみたのだが、どうもそういう方法がない…
そこで先ほどのFAQのページを眺めてみたら、ありました。
8.11. How do I get a Pixbuf of a stock icon?(ストックアイコンからPixbufを得るには?)
そうか…gtk.Widgetにそんな便利なメソッドがあるとは…
こいつを使い、
column = gtk.TreeViewColumn("Icons", renderer, pixbuf=0)
などとすれば、簡単にアイコンを付加できた。
そこで、文字列形式のストックID、たとえば'gtk-open'なんかはどうなる?と思い
t_pixbuf = self.BaseWindow.render_icon('gtk-open', gtk.ICON_SIZE_MENU)
とやってみたが、こいつも無事に通る。問題なし。
いや、わかってみれば簡単な話だった。