方法

GtkListStoreinsert_with_values

已过时:4.10 

声明 [src]

void
gtk_list_store_insert_with_values (
  GtkListStore* list_store,
  GtkTreeIter* iter,
  int position,
  ...
)

描述 [src]

position处创建一个新的行。iter将会被改变以指向这个新行。如果position是-1,或者大于列表中的行数,那么新行将会添加到列表的末尾。行将会填充到这个函数中给出的值。

调用gtk_list_store_insert_with_values (list_store, iter, position...)与调用以下代码的效果相同:

static void
insert_value (GtkListStore *list_store,
              GtkTreeIter  *iter,
              int           position)
{
  gtk_list_store_insert (list_store, iter, position);
  gtk_list_store_set (list_store,
                      iter
                      // ...
                      );
}

的不同之处在于前者只会触发GtkTreeModel::row-inserted一次,而后者会为每个插入的值触发GtkTreeModel::row-inserted, GtkTreeModel::row-changed,以及如果列表存储已排序,则触发GtkTreeModel::rows-reordered。

由于重复触发GtkTreeModel::rows-reordered信号可能会影响程序的性能,因此当在已排序的列表存储中插入行时,通常应首选使用gtk_list_store_insert_with_values()

已过时自:4.10

使用列表模型。

此方法对语言绑定不可直接访问。

此方法的实现由语言绑定中的gtk_list_store_insert_with_valuesv()提供。

参数

iter

类型: GtkTreeIter

一个未设置的GtkTreeIter,将其设置为新的行。

此参数将由函数设置。
此参数可以为NULL
返回的数据由实例拥有。
position

类型: int

插入新行的位置,或-1以追加到现有行之后。

...

类型: 

列号和值的成对出现,以-1结尾。