gtk toggle_action中的自定义图标

时间:2011-03-06 14:25:01

标签: python gtk

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

    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 个答案:

答案 0 :(得分: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。)