1
안녕하세요 저는 작은 gtk 애플리케이션을 작성하기 위해 글 레이드를 사용합니다. 응용 프로그램에 목록 저장소가 포함되어 있습니다. 사용자가 행을 클릭 할 때마다이 행에 포함 된 정보를 가져올 수 있기를 원합니다. 내가 여기에서 계속 어떻게c : GtkListStore 행 변경 이벤트 - 선택한 행의 데이터를 가져올 수 있습니까?
void gtk_tree_view_row_activated_event_handler(GtkWidget *widget, gpointer data) {
GtkTreeSelection *selection;
GList *rows_list;
selection = gtk_tree_view_get_selection(widget);
rows_list = gtk_tree_selection_get_selected_rows (selection, widget);
}
:
은 행 변경 이벤트에서 잎이 난 다음 함수를 추가 사용하고 계십니까?
enum
{
LIST_ITEM = 0,
N_COLUMNS
};
void view_selected_foreach_func(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer userdata)
{
char *value;
gtk_tree_model_get(model, iter, LIST_ITEM, &value, -1);
g_print("%s is selected\n", value);
g_free(value);
}
void gtk_tree_view_row_activated_event_handler(GtkWidget *widget, gpointer data)
{
GtkTreeSelection *selection;
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(widget));
gtk_tree_selection_selected_foreach(selection, view_selected_foreach_func, NULL);
}
난 당신이 GtkTreeSelection changed 신호 처리기를 정의하는 것 뭘 하려는지 달성하기 위해 다른 방법을 생각 : 아래의 코드는 당신을 위해 작동 할 경우
이 멋지다 아래 작은 예입니다! 나는 집에 도착하자 마자 시험해볼거야. 고마워요! – ufk
당신은 멋진 사람입니다! 나는 두 번째 방법을 사용하는 것을 선호하는데, 문제없이 작동합니다. 모든 것에 대해 감사드립니다! – ufk