Как выбрать строку GtkTreeview по идентификатору в C

Я хочу выбрать строку GtkTreeview, указав идентификатор с версией C GTK+.

Я нашел эту функцию:

gtk_tree_selection_select_iter (GtkTreeSelection *selection, GtkTreeIter *iter);

К сожалению, я не знаю, как получить элементы GtkTreeSelection и GtkTreeIter из определенного идентификатора.


person MHDaouas    schedule 21.06.2013    source источник


Ответы (1)


Мы можем использовать gtk_tree_view_get_selection() для получения GtkTreeSelection.

Используйте gtk_tree_model_get_iter() для получения GtkTreeIter, для которого требуется GtkTreePath. А GtkTreePath можно создать, вызвав gtk_tree_path_new_from_string() или gtk_tree_path_new_from_indices(). В качестве альтернативы, если у вас уже есть GtkTreePath, но вы хотите перейти к следующему/предыдущему итератору, вы можете вызвать gtk_tree_path_next() или gtk_tree_path_prev().

Я написал для вас демонстрационное приложение. TreeSelection изменяется, когда вы нажимаете кнопку прокрутки. Полный код можно найти здесь.

Ниже скриншот:

скриншот

person LiuLang    schedule 21.06.2013
comment
Большое спасибо за Вашу помощь. Ну, я программирую на C, а не на Python. У вас есть пример на C? - person MHDaouas; 21.06.2013
comment
Привет, C-версия GtkTreeView была добавлена, вы можете проверить ее прямо сейчас. - person LiuLang; 21.06.2013