Gtk.ImageMenuItem¶
- Subclasses:
None
Methods¶
- Inherited:
Gtk.MenuItem (20), Gtk.Bin (1), Gtk.Container (35), Gtk.Widget (278), GObject.Object (37), Gtk.Buildable (10), Gtk.Actionable (5), Gtk.Activatable (6)
- Structs:
Gtk.ContainerClass (5), Gtk.WidgetClass (12), GObject.ObjectClass (5)
class |
|
class |
|
class |
|
class |
|
|
|
|
|
|
|
|
|
|
Virtual Methods¶
Properties¶
- Inherited:
Gtk.MenuItem (5), Gtk.Container (3), Gtk.Widget (39), Gtk.Actionable (2), Gtk.Activatable (2)
Name |
Type |
Flags |
Short Description |
---|---|---|---|
d/w |
The Accel Group to use for stock accelerator keys |
||
d/r/w/c |
Whether the image will always be shown |
||
d/r/w |
Child widget to appear next to the menu text |
||
d/r/w/c |
Whether to use the label text to create a stock menu item |
Style Properties¶
- Inherited:
Signals¶
- Inherited:
Gtk.MenuItem (6), Gtk.Container (4), Gtk.Widget (69), GObject.Object (1)
Fields¶
- Inherited:
Gtk.MenuItem (6), Gtk.Container (4), Gtk.Widget (69), GObject.Object (1)
Name |
Type |
Access |
Description |
---|---|---|---|
menu_item |
r |
Class Details¶
- class Gtk.ImageMenuItem(*args, **kwargs)¶
- Bases:
- Abstract:
No
- Structure:
A
Gtk.ImageMenuItem
is a menu item which has an icon next to the text label.This is functionally equivalent to:
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); GtkWidget *icon = gtk_image_new_from_icon_name ("folder-music-symbolic", GTK_ICON_SIZE_MENU); GtkWidget *label = gtk_label_new ("Music"); GtkWidget *menu_item = gtk_menu_item_new (); gtk_container_add (GTK_CONTAINER (box), icon); gtk_container_add (GTK_CONTAINER (box), label); gtk_container_add (GTK_CONTAINER (menu_item), box); gtk_widget_show_all (menu_item);
Note that the user may disable display of menu icons using the
Gtk.Settings
:gtk-menu-images
setting, so make sure to still fill in the text label. If you want to ensure that your menu items show an icon you are strongly encouraged to use aGtk.MenuItem
with aGtk.Image
instead.Gtk.ImageMenuItem
has been deprecated since GTK+ 3.10. If you want to display an icon in a menu item, you should useGtk.MenuItem
and pack aGtk.Box
with aGtk.Image
and aGtk.Label
instead. You should also consider usingGtk.Builder
and the XMLGio.Menu
description for creating menus, by following the ‘GMenu guide [https://developer.gnome.org/GMenu/]’. You should consider using icons in menu items only sparingly, and for “objects” (or “nouns”) elements only, like bookmarks, files, and links; “actions” (or “verbs”) should not have icons.Furthermore, if you would like to display keyboard accelerator, you must pack the accel label into the box using
Gtk.Box.pack_end
() and align the label, otherwise the accelerator will not display correctly. The following code snippet adds a keyboard accelerator to the menu item, with a key binding of Ctrl+M:GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); GtkWidget *icon = gtk_image_new_from_icon_name ("folder-music-symbolic", GTK_ICON_SIZE_MENU); GtkWidget *label = gtk_accel_label_new ("Music"); GtkWidget *menu_item = gtk_menu_item_new (); GtkAccelGroup *accel_group = gtk_accel_group_new (); gtk_container_add (GTK_CONTAINER (box), icon); gtk_label_set_use_underline (GTK_LABEL (label), TRUE); gtk_label_set_xalign (GTK_LABEL (label), 0.0); gtk_widget_add_accelerator (menu_item, "activate", accel_group, GDK_KEY_m, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (label), menu_item); gtk_box_pack_end (GTK_BOX (box), label, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (menu_item), box); gtk_widget_show_all (menu_item);
- classmethod new()[source]¶
- Returns:
a new
Gtk.ImageMenuItem
- Return type:
Creates a new
Gtk.ImageMenuItem
with an empty label.Deprecated since version 3.10: Use
Gtk.MenuItem.new
() instead.
- classmethod new_from_stock(stock_id, accel_group)[source]¶
- Parameters:
stock_id (
str
) – the name of the stock item.accel_group (
Gtk.AccelGroup
orNone
) – theGtk.AccelGroup
to add the menu items accelerator to, orNone
.
- Returns:
a new
Gtk.ImageMenuItem
.- Return type:
Creates a new
Gtk.ImageMenuItem
containing the image and text from a stock item. Some stock ids have preprocessor macros likeGtk.STOCK_OK
andGtk.STOCK_APPLY
.If you want this menu item to have changeable accelerators, then pass in
None
for accel_group. Next callGtk.MenuItem.set_accel_path
() with an appropriate path for the menu item, useGtk.stock_lookup
() to look up the standard accelerator for the stock item, and if one is found, callGtk.AccelMap.add_entry
() to register it.Deprecated since version 3.10: Use
Gtk.MenuItem.new_with_mnemonic
() instead.
- classmethod new_with_label(label)[source]¶
- Parameters:
label (
str
) – the text of the menu item.- Returns:
a new
Gtk.ImageMenuItem
.- Return type:
Creates a new
Gtk.ImageMenuItem
containing a label.Deprecated since version 3.10: Use
Gtk.MenuItem.new_with_label
() instead.
- classmethod new_with_mnemonic(label)[source]¶
- Parameters:
label (
str
) – the text of the menu item, with an underscore in front of the mnemonic character- Returns:
a new
Gtk.ImageMenuItem
- Return type:
Creates a new
Gtk.ImageMenuItem
containing a label. The label will be created usingGtk.Label.new_with_mnemonic
(), so underscores in label indicate the mnemonic for the menu item.Deprecated since version 3.10: Use
Gtk.MenuItem.new_with_mnemonic
() instead.
- get_always_show_image()[source]¶
-
Returns whether the menu item will ignore the
Gtk.Settings
:gtk-menu-images
setting and always show the image, if available.New in version 2.16.
Deprecated since version 3.10.
- get_image()[source]¶
- Returns:
the widget set as image of self
- Return type:
Gets the widget that is currently set as the image of self. See
Gtk.ImageMenuItem.set_image
().Deprecated since version 3.10.
- get_use_stock()[source]¶
- Returns:
True
if the label set in the menuitem is used as a stock id to select the stock item for the item- Return type:
Checks whether the label set in the menuitem is used as a stock id to select the stock item for the item.
New in version 2.16.
Deprecated since version 3.10.
- set_accel_group(accel_group)[source]¶
- Parameters:
accel_group (
Gtk.AccelGroup
) – theGtk.AccelGroup
Specifies an accel_group to add the menu items accelerator to (this only applies to stock items so a stock item must already be set, make sure to call
Gtk.ImageMenuItem.set_use_stock
() andGtk.MenuItem.set_label
() with a valid stock item first).If you want this menu item to have changeable accelerators then you shouldnt need this (see
Gtk.ImageMenuItem.new_from_stock
()).New in version 2.16.
Deprecated since version 3.10.
- set_always_show_image(always_show)[source]¶
-
If
True
, the menu item will ignore theGtk.Settings
:gtk-menu-images
setting and always show the image, if available.Use this property if the menuitem would be useless or hard to use without the image.
New in version 2.16.
Deprecated since version 3.10.
- set_image(image)[source]¶
- Parameters:
image (
Gtk.Widget
orNone
) – a widget to set as the image for the menu item.
Sets the image of self to the given widget. Note that it depends on the show-menu-images setting whether the image will be displayed or not.
Deprecated since version 3.10.
Property Details¶
- Gtk.ImageMenuItem.props.accel_group¶
- Name:
accel-group
- Type:
- Default Value:
- Flags:
The Accel Group to use for stock accelerator keys
New in version 2.16.
Deprecated since version 3.10: Use
Gtk.Widget.add_accelerator
() instead
- Gtk.ImageMenuItem.props.always_show_image¶
- Name:
always-show-image
- Type:
- Default Value:
- Flags:
If
True
, the menu item will always show the image, if available.Use this property only if the menuitem would be useless or hard to use without the image.
New in version 2.16.
Deprecated since version 3.10: Use a
Gtk.MenuItem
containing aGtk.Box
with aGtk.AccelLabel
and aGtk.Image
instead
- Gtk.ImageMenuItem.props.image¶
- Name:
image
- Type:
- Default Value:
- Flags:
Child widget to appear next to the menu text.
Deprecated since version 3.10: Use a
Gtk.MenuItem
containing aGtk.Box
with aGtk.AccelLabel
and aGtk.Image
instead
- Gtk.ImageMenuItem.props.use_stock¶
-
If
True
, the label set in the menuitem is used as a stock id to select the stock item for the item.New in version 2.16.
Deprecated since version 3.10: Use a named icon from the
Gtk.IconTheme
instead