gtk打印列表中的选定值

时间:2011-03-16 06:14:31

标签: c linux gtk

您好我需要帮助我正在使用gtk开发界面我对gtk来说是全新的。 在我的程序中,我有一个包含两列的列表。并且一个button.list填充了一些值,我希望当我从列表中选择一个值并按下按钮时,它将在屏幕上打印。

到目前为止我的列表已经填满,按钮也正常工作但是当我选择它的值时,它不会存储在变量中我猜并且不打印,请帮助我这里是我的事件处理程序的代码

static void show_graph(GtkWidget *widget, gpointer selection)
{
  GtkListStore *store;
  GtkTreeModel *model;
  GtkTreeIter  iter;
  char * value;

  store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW (list)));
  model = gtk_tree_view_get_model (GTK_TREE_VIEW (list));

  if (gtk_tree_model_get_iter_first(model, &iter) == FALSE) 
      return;

  if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(selection), 
      &model, &iter)) {
      gtk_tree_model_get(model, &iter, AIP, &value,  -1);
      printf("%s" ,value);

    gtk_list_store_remove(store, &iter);
  }    
}

1 个答案:

答案 0 :(得分:0)

根据有关gtk_tree_selection_get_selected()的API文档:

  

(...)如果您使用此功能将无效   选择是GTK_SELECTION_MULTIPLE。

使用gtk_tree_selection_get_mode()检查案例中的设置。