pygtkで遊ぼう(10) gtk.Toolbar編(1)

今日はgtk.Toolnarを配置したウインドウを作ってみました。
珍しく今回はWindows環境でスクリプトを書きました。

こんな感じです。

ソースは以下のような感じです。
赤文字の部分がツールバーを作成している部分です。

# -*- coding: utf-8 -*-

import sys
import pygtk
if sys.platform != 'win32':
    pygtk.require('2.0')
import gtk

gtk.gdk.threads_init()

#
#
class TestWindow:
    def __init__(self):
        self.wind = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.wind.set_size_request(400, 300)
        self.wind.set_position(gtk.WIN_POS_CENTER)
        self.wind.connect('destroy', self.on_exit)

        # ToolBarの作成と配置
        tb = self.get_tool_bar()

        vbox = gtk.VBox()
        vbox.pack_start(tb, False, False, 4)

        self.wind.add(vbox)
        self.wind.show_all()

    def get_tool_bar(self):

        # ツールバーの作成
        tb = gtk.Toolbar()

        # ツールバーの方向を水平方向に指定。
        tb.set_orientation(gtk.ORIENTATION_HORIZONTAL)

        # ツールバーの表示方法を設定。
        # gtk.TOOLBAR_ICONS : アイコンのみを表示
        # gtk.TOOLBAR_TEXT  : テキストのみを表示
        # gtk.TOOLBAR_BOTH  : アイコンとテキストの両方を表示。(アイコンの下にテキスト)
        # gtk.TOOLBAR_BOTH_HORIZ : アイコンとテキストを横に並べて表示。
        tb.set_style(gtk.TOOLBAR_BOTH)

        # ツールバーの中のボタン用アイコンを作成。
        iconw = gtk.image_new_from_stock(gtk.STOCK_QUIT,
                                         gtk.ICON_SIZE_BUTTON)
        # ツールバーにボタンを追加。
        tb.append_item('Close',
                       'Close this app',
                       'Private',
                       iconw,
                       self.on_sel_toolbar_exit)
        # ツールバーの最後尾にスペース(余白を追加)
        tb.append_space()
        return tb

    def on_sel_toolbar_exit(self, data=None):
        self.terminate()
        
    def on_exit(self, widget, event=None, data=None):
        self.terminate()

    def terminate(self):
        print '-- quit --'
        gtk.main_quit()
        
#
#
def main():
    wind = TestWindow()

    gtk.gdk.threads_enter()
    gtk.main()
    gtk.gdk.threads_leave()

#
#
if __name__ == '__main__':
    main()

さて、実行は問題なくできるのですが、なにやらワーニングが表示されています。
こんな感じの。。

同じワーニングが出るかどうか、後でLinux環境でも試してみようと思います。