GtkTreeStore

已弃用:4.10 

描述 [src]

class Gtk.TreeStore : GObject.Object
  implements Gtk.Buildable, Gtk.TreeDragDest, Gtk.TreeDragSource, Gtk.TreeModel, Gtk.TreeSortable {
  GtkTreeStorePrivate* priv
}

一种可以与 GtkTreeView 一起使用的数据结构。

GtkTreeStore 对象是用于 GtkTreeView 小部件的列表模型。它实现了 GtkTreeModel 接口,因此可以在那里使用所有可用的方法。它还实现了 GtkTreeSortable 接口,以便它可以按视图排序。最后,它还实现了树 拖拽 接口。

GTK 4.10 开始,GtkTreeStore 已弃用,不得在新编写的代码中使用。对于类似树的模型对象,你应该使用 GtkTreeListModel

GtkTreeStore 作为 GtkBuildable

GtkBuildable 接口的 GtkTreeStore 实现允许使用 <columns> 元素(其中可能包含多个 <column> 元素,每个元素指定一个模型列)来指定模型列。用于列的“type”属性指定数据类型。

树商店的 UI 定义片段示例

<object class="GtkTreeStore">
  <columns>
    <column type="gchararray"/>
    <column type="gchararray"/>
    <column type="gint"/>
  </columns>
</object>

从以下版本开始弃用:4.10

使用 GtkTreeListModel 代之。

层次结构

hierarchy this GtkTreeStore implements_0 GtkBuildable this--implements_0 implements_1 GtkTreeDragDest this--implements_1 implements_2 GtkTreeDragSource this--implements_2 implements_3 GtkTreeModel this--implements_3 implements_4 GtkTreeSortable this--implements_4 ancestor_0 GObject ancestor_0--this

父类

构造函数

gtk_tree_store_new

创建一个新的树商店。

已弃用:4.10 

gtk_tree_store_newv

创建一个新的树商店。

已弃用:4.10 

实例方法

gtk_tree_store_append

将新行附加到 tree_store

已弃用:4.10 

gtk_tree_store_clear

tree_store 中删除所有行。

已弃用:4.10 

gtk_tree_store_insert

position 处创建一个新行。

已弃用:4.10 

gtk_tree_store_insert_after

sibling 后面插入新行。

已弃用:4.10 

gtk_tree_store_insert_before

sibling 前面插入新行。

已弃用:4.10 

gtk_tree_store_insert_with_values

在给定的 position 处创建新行。

已弃用:4.10 

gtk_tree_store_insert_with_valuesv

gtk_tree_store_insert_with_values() 的一个变体,它将列和值作为两个数组,而不是 varargs。

已弃用:4.10 

gtk_tree_store_is_ancestor

检查iter是否为descendant的祖先。

已弃用:4.10 

gtk_tree_store_iter_depth

返回迭代器指向的位置的深度。

已弃用:4.10 

gtk_tree_store_iter_is_valid

检查给定的 iter 是否为此GtkTreeStore的有效 iter。

已弃用:4.10 

gtk_tree_store_move_after

tree_store中的iter移动到position后的位置。

已弃用:4.10 

gtk_tree_store_move_before

tree_store中的iter移动到position前的位置。

已弃用:4.10 

gtk_tree_store_prepend

tree_store前面添加新行。

已弃用:4.10 

gtk_tree_store_remove

tree_store中删除iter

已弃用:4.10 

gtk_tree_store_reorder

new_order所示的顺序重新排列tree_storeparent的子元素。

已弃用:4.10 

gtk_tree_store_set

设置iter引用的行的单个或多个单元格的值。

已弃用:4.10 

gtk_tree_store_set_column_types

设置树中列的类型。

已弃用:4.10 

gtk_tree_store_set_valist

使用va_listgtk_tree_store_set()版本。

已弃用:4.10 

gtk_tree_store_set_value

设置itercolumn指定的单元格中的数据。

已弃用:4.10 

gtk_tree_store_set_valuesv

gtk_tree_store_set_valist()的变体,它采用数组作为列和值,而不是使用变参。

已弃用:4.10 

gtk_tree_store_swap

交换tree_store同一级别中的ab

已弃用:4.10 

GObject (43)继承的方法

有关方法的完整列表,请参阅GObject

GtkBuildable (1)继承的方法
gtk_buildable_get_buildable_id

获取buildable对象的ID

GtkTreeDragDest (2)继承的方法
gtk_tree_drag_dest_drag_data_received

要求GtkTreeDragDest在路径dest的前面插入一行,根据value派生行的内容。如果dest超出树的范围,从而无法在其前面插入,将返回FALSE。此外,如果由于某些模型特定的原因,尚未创建新行,则可能返回FALSE。应稳健地处理模型中不再找到的dest!

已弃用:4.10 

gtk_tree_drag_dest_row_drop_possible

确定在给定的dest_path之前同一深度的value处是否可以进行放置。即,我们是否可以将数据value放在该位置。dest_path不必存在;即便dest_path的父元素不存在,返回值几乎必定为FALSE

已弃用:4.10 

GtkTreeDragSource (3)继承的方法
gtk_tree_drag_source_drag_data_delete

要求GtkTreeDragSource删除路径path处的行,因为它通过拖放移动到别处。如果path不再存在,或者由于某些模型特定的原因,删除操作失败,则返回FALSE。应稳健地处理模型中不再找到的path!

已弃用:4.10 

gtk_tree_drag_source_drag_data_get

要求GtkTreeDragSource返回表示路径path处的行的GdkContentProvider。应稳健地处理模型中不再找到的path!

已弃用:4.10 

gtk_tree_drag_source_row_draggable

询问GtkTreeDragSource特定的行是否可用作DND操作的源。如果源未实现该界面,则认为该行可拖动。

已弃用:4.10 

GtkTreeModel (28)继承的方法

有关方法的完整列表,请参阅GtkTreeModel

GtkTreeSortable (6)继承的方法
gtk_tree_sortable_get_sort_column_id

用当前排序列和顺序填充 sort_column_idorder。该函数会返回 TRUE,除非 sort_column_idGTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_IDGTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID

已弃用:4.10 

gtk_tree_sortable_has_default_sort_func

如果模型有默认排序函数,则返回 TRUE。主要由 GtkTreeViewColumns 控件使用,以确定模型是否可以恢复为默认状态。

已弃用:4.10 

gtk_tree_sortable_set_default_sort_func

将排序时使用的默认比较函数设置为 sort_func。如果 sortable 的当前排序列 ID 为 GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,则模型将使用此函数进行排序。

已弃用:4.10 

gtk_tree_sortable_set_sort_column_id

将当前排序列设置为 sort_column_idsortable 将根据这一更改重新排序自身,在发出 GtkTreeSortable::sort-column-changed 信号后。sort_column_id 可能是一个常规的列 ID,或以下特殊值之一:。

已弃用:4.10 

gtk_tree_sortable_set_sort_func

将排序时使用的比较函数设置为 sort_func。如果 sortable 的当前排序列 ID 与 sort_column_id 相同,则模型将使用此函数进行排序。

已弃用:4.10 

gtk_tree_sortable_sort_column_changed

sortable 上发出 GtkTreeSortable::sort-column-changed 信号。

已弃用:4.10 

信号

GObject 继承的信号 (1)
GObject::notify

当对象的一个属性通过 g_object_set_property()、g_object_set() 等设置其值时,会发出 notify 信号。

GtkTreeModel 继承的信号 (5)
GtkTreeModel::row-changed

当模型中的行发生了更改时,发出此信号。

GtkTreeModel::row-deleted

当删除了某行时,发出此信号。

GtkTreeModel::row-has-child-toggled

当某行获得了首个子行或失去了其最后一个子行时,发出此信号。

GtkTreeModel::row-inserted

当在模型中插入了新行时,发出此信号。

GtkTreeModel::rows-reordered

当已对 GtkTreeModel 中节点的子节点重新排序时,发出此信号。

GtkTreeSortable 继承的信号 (1)
GtkTreeSortable::sort-column-changed

当更改了 sortable 的排序列或排序顺序时,会发出 ::sort-column-changed 信号。该信号在重新对 sortable 的内容进行排序之前发出。

类结构

struct GtkTreeStoreClass {
  GObjectClass parent_class;
  
}

无可用描述。

类成员
parent_class: GObjectClass

无可用描述。