[pygtk] Accel map and labels
Sebastian Pölsterl
marduk at k-d-w.org
Mon Apr 3 06:02:39 WST 2006
John Finlay wrote:
> Sebastian Pölsterl wrote:
>> Hi!
>>
>> Currently, I'm trying to connect accelerators to MenuItems of a MenuBar.
>> Therefore, I use the gtk.accel_map_add_entry function, connect the accel
>> paths to a AccelGroup and finally I set the MenuItems' correct accel
>> paths.
>>
>> The accelerators themselves work, but the labels don't get displayed.
>>
>> Whereas, if I use the add_acclerator method for each MenuItem it works,
>> but with that solution the accelerators will be static and cannot be
>> changed.
>>
>> Example code that doesn't display labels:
>> gtk.accel_map_add_entry('<Videodb-menubar>/File/New', ord('n'),
>> gtk.gdk.CONTROL_MASK)
>> gtk.accel_map_add_entry('<Videodb-menubar>/File/Quit', ord('q'),
>> gtk.gdk.CONTROL_MASK)
>> gtk.accel_map_add_entry('<Videodb-menubar>/Edit/Edit', ord('e'),
>> gtk.gdk.CONTROL_MASK)
>>
>> accelgroup.connect_by_path('<Videodb-menubar>/File/New',
>> self.on_new_activate)
>> accelgroup.connect_by_path('<Videodb-menubar>/File/Quit',
>> gtk.main_quit)
>> accelgroup.connect_by_path('<Videodb-menubar>/Edit/Edit',
>> self.on_edit_activate)
>>
>> self.view['new'].set_accel_path('<Videodb-menubar>/File/New')
>> self.view['quit'].set_accel_path('<Videodb-menubar>/File/Quit')
>> self.view['edit'].set_accel_path('<Videodb-menubar>/Edit/Edit')
>>
>> Example code that does display labels:
>> self.view['new'].add_accelerator("activate", accelgroup, ord('n'),
>> gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
>> self.view['quit'].add_accelerator("activate", accelgroup, ord('q'),
>> gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
>> self.view['edit'].add_accelerator("activate", accelgroup, ord('e'),
>> gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
>>
>> I appreciate any help!
>>
>>
> Did you call gtk.Menu.set_accel_group() for your menu?
>
> John
>
>
gtk.Menu is a popup menu, but I'm using gtk.MenuBar that doesn't have
set_accel_group
--
Greetings,
Sebastian Pölsterl
More information about the pygtk
mailing list