方法
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()
。
参数
iter
-
类型:
GtkTreeIter
一个未设置的
GtkTreeIter
,将其设置为新的行。此参数将由函数设置。 此参数可以为 NULL
。返回的数据由实例拥有。 position
-
类型:
int
插入新行的位置,或-1以追加到现有行之后。
...
-
类型:
列号和值的成对出现,以-1结尾。