1
31
2011
0

C、Gtk+、Glib编程随笔-6

我用builder创建了一个GtkComboBoxEntry,想从ini里面读取user list并加入到这个组合框的列表里,这下就纠结了,builder的创建不是_text版本(创建时以_new_text结尾)!靠,我研究了半天的GtkTreeModel,失败了,创建出来文本是空的。

后来上gtkforums.com终于找到了答案,算了,不写了,上代码。

/* 节选的,combo就是前面说的GtkComboBoxEntry */

GtkListStore *lst = gtk_list_store_new (1, G_TYPE_STRING);
gtk_combo_box_set_model (GTK_COMBO_BOX (combo), GTK_TREE_MODEL (lst));
gtk_combo_box_entry_set_text_column(GTK_COMBO_BOX_ENTRY(combo), 0); /* 我也不明白这个是什么意思,但是原文里面有 */
gtk_combo_box_append_text (GTK_COMBO_BOX (combo), "first");
gtk_combo_box_append_text (GTK_COMBO_BOX (combo), "second");

其实就是set一个空model(怪不得我先前用append_text时会提示assert失败)。

另请参阅:
http://library.gnome.org/devel/gtk/stable/GtkBuilder.html
http://library.gnome.org/devel/gtk/stable/GtkComboBox.html
http://library.gnome.org/devel/gtk/stable/GtkComboBoxEntry.html
http://library.gnome.org/devel/gtk/stable/GtkCellLayout.html


原文地址点这里

Category: 编程 | Tags: | Read Count: 1618

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Powered by Chito | Hosted at is-Programmer | Theme: Aeros 2.0 by TheBuckmaker.com