dullhikoのだるいブログ

殆ど日記のだるいブログ

pygtkに役立つサイト発見 & ストックIDからpixbufを得るには

2005年09月11日 | Python
実に役立つ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)

とやってみたが、こいつも無事に通る。問題なし。
いや、わかってみれば簡単な話だった。

最新の画像もっと見る