作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当预设卷列表中打印电台列表并且您位于列表的开头或结尾时,您会看到许多空项目。我创建了大约 20 个电台的列表,并尝试显示它们,转到列表的开头和结尾。我认为问题出在这段代码中:
static void add_button_clicked_cb(GtkWidget *widget, gpointer data)
{
preset *ps;
gchar *buffer;
GtkTreeIter iter = {0};
GtkAdjustment* v_scb;
GtkTreePath *path = NULL;
GList* menuitems;
GtkWidget *menuitem;
ps = malloc(sizeof(preset));
ps->title = g_strdup(_("unnamed"));
ps->freq = rint(gtk_adjustment_get_value(adj)) / STEPS;
settings.presets = g_list_append(settings.presets, (gpointer) ps);
buffer = g_strdup_printf("%.2f", ps->freq);
gtk_list_store_append(list_store, &iter);
gtk_list_store_set(list_store, &iter, 0, ps->title, 1, buffer, -1);
g_free(buffer);
gtk_tree_selection_unselect_all(selection);
v_scb = gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(list_view));
gtk_adjustment_set_value(v_scb, gtk_adjustment_get_upper(v_scb));
if (main_visible) {
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(preset_combo), ps->title);
mom_ps = g_list_length(settings.presets) - 1;
preset_combo_set_item(mom_ps);
menuitems = gtk_container_get_children(GTK_CONTAINER(tray_menu));
menuitem = gtk_menu_item_new_with_label(ps->title);
gtk_menu_shell_insert(GTK_MENU_SHELL(tray_menu), menuitem, mom_ps);
g_signal_connect(G_OBJECT(menuitem), "activate", (GCallback)preset_menuitem_activate_cb, (gpointer)mom_ps);
gtk_widget_show(menuitem);
}
buffer = g_strdup_printf("%d", g_list_length(settings.presets) - 1);
path = gtk_tree_path_new_from_string(buffer);
g_free(buffer);
gtk_tree_view_set_cursor(GTK_TREE_VIEW(list_view), path, NULL, FALSE);
gtk_tree_path_free(path);
}
您能否建议我如何纠正它?
最佳答案
在if (main_visible)
内部,您有:
menuitems = gtk_container_get_children(GTK_CONTAINER(tray_menu));
也就是说,您将 menuitems
的值设置为该函数调用的返回值。但是,其余代码实际上都没有对菜单项执行任何操作。因此,编译器会向您发出警告。
修复它可能就像简单地删除菜单项一样简单:
gtk_container_get_children(GTK_CONTAINER(tray_menu));
这肯定会消除警告。但你必须考虑一下:也许你应该对该函数调用的返回值做一些事情,而你没有用它做任何事情的原因是你忘记了(或者其他什么) )。
关于c - gtk_container_get_children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10256264/
当预设卷列表中打印电台列表并且您位于列表的开头或结尾时,您会看到许多空项目。我创建了大约 20 个电台的列表,并尝试显示它们,转到列表的开头和结尾。我认为问题出在这段代码中: static void
我是一名优秀的程序员,十分优秀!