2011-03-06 53 views
1

我有以下代码,它将工具栏图标“gtk-info”(从股票)添加到python Gtk +窗口。我想有一个自定义图标。我会怎么做?gtk中的自定义图标toggle_action

self.action = ('ActivateSqueezeboxMode','gtk-info', _('SqueezeboxTools'), 
        None, _('Activate Squeezebox mode'), 
        self.activate_button_press, True) 
    self.action_group = gtk.ActionGroup('SqueezeboxPluginActions') 
    self.action_group.add_toggle_actions([self.action]) 
    uim = self.shell.get_ui_manager() 
    uim.insert_action_group (self.action_group, 0) 
    self.ui_id = uim.add_ui_from_string(context_ui) 
    uim.ensure_update() 

回答

1

试试这个:

self.action = ('ActivateSqueezeboxMode', None, _('SqueezeboxTools'), 
       None, _('Activate Squeezebox mode'), 
       self.activate_button_press, True) 
self.action_group = gtk.ActionGroup('SqueezeboxPluginActions') 
self.action_group.add_toggle_actions([self.action]) 
# now get your action back out of the action group so you can modify it 
action = self.action_group.get_action('ActivateSqueezeboxMode') 
action.set_icon_name('my-custom-icon') 

使用命名图标,或

action.set_gicon(my_custom_gicon) 

的最后一行使用gio.Icon(参见例如gio.FileIcon

+0

酷!有用!!我只能+1并接受,但我非常感谢!谢谢! – jldupont 2011-03-08 11:48:23