pygtkで遊ぼう(9) gtk.Expander
今日はgtk.Expanderを使ってみました。
gtk.Expanderは、その上にのっかっている子供のWidgetを見せたり、隠したりできる便利なWidgetです。
設定用のダイアログで、「上級者用オプション」とか何とかを配置するのには便利そうです。
さて、ソースコードは以下のようになります。
# -*- coding: utf-8 -*- import sys import pygtk if sys.platform != 'win32': pygtk.require('2.0') import gtk # class TestWindow: ''' ''' def __init__(self): ''' 初期化 ''' self.wind = gtk.Window(gtk.WINDOW_TOPLEVEL) self.wind.set_border_width(4) self.wind.set_size_request(300, 200) self.wind.connect('delete_event', self.on_quit) exp = gtk.Expander() exp.set_label('_Expander') exp.set_use_underline(True) hbox = gtk.VBox() bt = gtk.Button('Test Button #1') hbox.pack_start(bt) bt = gtk.Button('Text Button #2') hbox.pack_start(bt) exp.add(hbox) self.wind.add(exp) self.wind.show_all() def on_quit(self, widget, event=None): ''' 終了処理 ''' print '-- quit --' gtk.main_quit() return False # # if __name__ == '__main__': wind = TestWindow() gtk.main()
Expanderに関する部分は上のソースコードの赤い部分になります。
exp = gtk.Expander()
exp.set_label('_Expander')
exp.set_use_underline(True)
まず、1行目でExpanderを作成します。
2行目でExpanderに表示される文字列を設定します。
3行目は、Expanderの開閉をショートカットで行えるようにするための設定です。Trueを指定すると、2行目のラベル文字列中の’_’の次の文字列がショートカットキーになります。上のソースではAlt + EキーでExpanderが開閉します。
Expanderには、
expander_new_with_mnemonic()というメソッドもあるようですが、使いどころをまだ理解していないので、また後日。
つづく。