抓住重点放在gtk小部件上

时间:2013-09-08 15:20:09

标签: c gtk3

在我的应用程序中,我有首选项对话框(模式为main),可以在GTK_LIST_STORE [GTK_TREE_VIEW]中插入值。

此条目将作为菜单选择发送至GTK_COMBO_BOX_TEXT。

当按下按钮打开首选项对话框来编辑值时,我希望自动将GTK_TREE_VIEW滚动到主菜单中选择的单元格引用。

main(GTK_COMBO_BOX_TEXT)

首选项对话框(GTK_TREE_VIEW)

例如:

如果在主窗口中我在打开首选项对话框时选择黄色,请在黄色行中抓取焦点小部件

由于

更新:

添加新条目时我使用:

ps = malloc(sizeof(preset));
ps->name = g_strdup(_("unnamed"));
ps->value = rint(gtk_adjustment_get_value(adj)) / STEPS;
settings.presets = g_list_append(settings.presets, (gpointer) ps);
buffer = g_strdup_printf("%.2f", ps->value);

gtk_list_store_append(list_store, &iter);
gtk_list_store_set(GTK_LIST_STORE(list_store), &iter, 0, ps->name, 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));

gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(preset_combo), ps->name);

1 个答案:

答案 0 :(得分:0)

gtk_tree_view_set_cursor会将光标设置在您告诉它的行上。 gtk_widget_grab_focus (GTK_WIDGET (treeview))会将焦点设置为树视图。