0

提前感谢您阅读我,我正在将 Gtk3 应用程序迁移到 Gtk4。在我的应用程序中,一些菜单项标签使用 pango 标记标签:

 GtkWidget * markup_menu_item (gchar * label)
 {
   GtkWidget * item = gtk_menu_item_new ();
   GtkWidget * lab = gtk_label_new (label);
   gtk_label_set_use_markup (GTK_LABEL(lab), TRUE);
   gtk_container_add (GTK_CONTAINER(item), lab);
   return item;
 }

现在使用新的 API,我使用以下代码,而不是一个无论如何都不能包含 Pango 标记的 XML 文件:

 GMenuItem * menu_item (const gchar * label, 
                        const gchar * action, 
                        const gchar * accel,
                        const gchar * custom,
                        gboolean use_markup)
 {
   GMenuItem * item = g_menu_item_new (label, action);
   if (accel) g_menu_item_set_attribute (item, "accel", "s", accel, NULL);
   if (custom) g_menu_item_set_attribute (item, "custom", "s", custom, NULL);
   if (use_markup)
   {
     // What would be the attribute (if any ?)
     // g_menu_item_set_attribute (item,  ???, use_markup, NULL);
   }  

是否有一个属性可以传递给菜单项,或者是使用“自定义”属性插入小部件的唯一方法?

在此先感谢您的帮助。

此致。

S。

4

0 回答 0