メニュー2014年9月7日 | |
![]() ファイル内容メニューを作成します。はじめにメニューバーを作り、それにメニューアイテム、サブメニューを追加し、またそれぞれのサブメニューにメニューアイテム、サブメニューを追加していく、という流れになります。 まず、部品を入れるためのボックスを用意します。 box = gtk.VBox() win.add(box) 縦方向のボックスを作り、ウインドウに追加しています。 メニューバーを作成します。 menubar = gtk.MenuBar() box.pack_start(menubar, False, False, 0) ここでは、部品を入れるボックスを用意したので、メニューバーはウインドウにではなくボックスに追加します。ウインドウ - ボックス - メニューバー という入れ子になります。 メニューバーに項目を追加します。
miFile = gtk.MenuItem("File")
menubar.append(miFile)
メニュー "File" ができます。これに項目を追加するために、サブメニューを設定します。 mFile = gtk.Menu() miFile.set_submenu(mFile) サブメニューにセパレータを追加します。 miSeparator = gtk.SeparatorMenuItem() mFile.append(miSeparator) 項目 "Quit" を追加します。
miQuit = gtk.MenuItem("Quit")
mFile.append(miQuit)
ここで、部品の構造はウインドウ - ボックス - メニュバー - メニューアイテム ("File") - サブメニュー - メニューアイテム (セパレータ, "Quit" となっています。 "Quit" を選んだらプログラムが終了するように、コールバック関数を設定します。
miQuit.connect("activate", gtk.main_quit)
"Quit" にショートカットキー "Ctrl + Q" を設定するため、つぎのようにします。
accelGroup = gtk.AccelGroup()
win.add_accel_group(accelGroup)
...
miQuit.add_accelerator("activate", accelGroup,
gtk.keysyms.q, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
| |
| PENGUINITIS | |