📄 gtkliststore.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>GtkListStore</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GTK+ Reference Manual"><link rel="up" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets"><link rel="prev" href="GtkCellRendererToggle.html" title="GtkCellRendererToggle"><link rel="next" href="GtkTreeStore.html" title="GtkTreeStore"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="gtk.html" title="Part I. GTK+ Overview"><link rel="part" href="gtkbase.html" title="Part II. GTK+ Core Reference"><link rel="part" href="gtkobjects.html" title="Part III. GTK+ Widgets and Objects"><link rel="chapter" href="ch01.html" title="Object Hierarchy"><link rel="chapter" href="ch02.html" title="Widget Gallery"><link rel="chapter" href="WindowWidgets.html" title="Windows"><link rel="chapter" href="DisplayWidgets.html" title="Display Widgets"><link rel="chapter" href="ButtonWidgets.html" title="Buttons and Toggles"><link rel="chapter" href="NumericEntry.html" title="Numeric/Text Data Entry"><link rel="chapter" href="TextWidgetObjects.html" title="Multiline Text Editor"><link rel="chapter" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets"><link rel="chapter" href="MenusAndCombos.html" title="Menus, Combo Box, Toolbar"><link rel="chapter" href="Actions.html" title="Action-based menus and toolbars"><link rel="chapter" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)"><link rel="chapter" href="LayoutContainers.html" title="Layout Containers"><link rel="chapter" href="Ornaments.html" title="Ornaments"><link rel="chapter" href="ScrollingWidgets.html" title="Scrolling"><link rel="chapter" href="Printing.html" title="Printing"><link rel="chapter" href="MiscObjects.html" title="Miscellaneous"><link rel="chapter" href="AbstractObjects.html" title="Abstract Base Classes"><link rel="chapter" href="PlugSocket.html" title="Cross-process Embedding"><link rel="chapter" href="SpecialObjects.html" title="Special-purpose features"><link rel="chapter" href="RecentDocuments.html" title="Recently Used Documents"><link rel="chapter" href="Builder.html" title="Interface builder"><link rel="chapter" href="DeprecatedObjects.html" title="Deprecated"><link rel="part" href="migrating.html" title="Part IV. Migrating from Previous Versions of GTK+"><link rel="chapter" href="gtk-migrating-checklist.html" title="Migration Checklist"><link rel="chapter" href="gtk-migrating-GtkFileChooser.html" title="Migrating from GtkFileSelection to GtkFileChooser"><link rel="chapter" href="gtk-migrating-GtkAction.html" title="Migrating from old menu and toolbar systems to GtkAction"><link rel="chapter" href="gtk-migrating-GtkComboBox.html" title="Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry"><link rel="chapter" href="gtk-migrating-GtkIconView.html" title="Migrating from GnomeIconList to GtkIconView"><link rel="chapter" href="gtk-migrating-GtkAboutDialog.html" title="Migrating from GnomeAbout to GtkAboutDialog"><link rel="chapter" href="gtk-migrating-GtkColorButton.html" title="Migrating from GnomeColorPicker to GtkColorButton"><link rel="chapter" href="gtk-migrating-GtkAssistant.html" title="Migrating from GnomeDruid to GtkAssistant"><link rel="chapter" href="gtk-migrating-GtkRecentChooser.html" title="Migrating from EggRecent to GtkRecentChooser"><link rel="chapter" href="gtk-migrating-GtkLinkButton.html" title="Migrating from GnomeHRef to GtkLinkButton"><link rel="chapter" href="gtk-migrating-GtkBuilder.html" title="Migrating from libglade to GtkBuilder"><link rel="chapter" href="gtk-migrating-tooltips.html" title="Migrating from GtkTooltips to GtkTooltip"><link rel="part" href="pt05.html" title="Part V. GTK+ Tools"><link rel="glossary" href="glossary.html" title="Glossary"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"><link rel="index" href="ix06.html" title="Index of new symbols in 2.8"><link rel="index" href="ix07.html" title="Index of new symbols in 2.10"><link rel="index" href="ix08.html" title="Index of new symbols in 2.12"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="GtkCellRendererToggle.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="TreeWidgetObjects.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GTK+ Reference Manual</th><td><a accesskey="n" href="GtkTreeStore.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id3847519" class="shortcut">Top</a>  |  <a href="#id3848400" class="shortcut">Description</a>  |  <a href="#id3848325" class="shortcut">Object Hierarchy</a>  |  <a href="#id3848349" class="shortcut">Implemented Interfaces</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="GtkListStore"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id3847519"></a><span class="refentrytitle">GtkListStore</span></h2><p>GtkListStore — A list-like data structure that can be used with the GtkTreeView</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include <gtk/gtk.h> <a class="link" href="GtkListStore.html#GtkListStore-struct">GtkListStore</a>;<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a>* <a class="link" href="GtkListStore.html#gtk-list-store-new">gtk_list_store_new</a> (<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> n_columns, ...);<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a>* <a class="link" href="GtkListStore.html#gtk-list-store-newv">gtk_list_store_newv</a> (<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> n_columns, <ahref="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType">GType</a> *types);void <a class="link" href="GtkListStore.html#gtk-list-store-set-column-types">gtk_list_store_set_column_types</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> n_columns, <ahref="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType">GType</a> *types);void <a class="link" href="GtkListStore.html#gtk-list-store-set">gtk_list_store_set</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, ...);void <a class="link" href="GtkListStore.html#gtk-list-store-set-valist">gtk_list_store_set_valist</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, va_list var_args);void <a class="link" href="GtkListStore.html#gtk-list-store-set-value">gtk_list_store_set_value</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> column, <ahref="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue">GValue</a> *value);void <a class="link" href="GtkListStore.html#gtk-list-store-set-valuesv">gtk_list_store_set_valuesv</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> *columns, <ahref="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue">GValue</a> *values, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> n_values);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="GtkListStore.html#gtk-list-store-remove">gtk_list_store_remove</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);void <a class="link" href="GtkListStore.html#gtk-list-store-insert">gtk_list_store_insert</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> position);void <a class="link" href="GtkListStore.html#gtk-list-store-insert-before">gtk_list_store_insert_before</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *sibling);void <a class="link" href="GtkListStore.html#gtk-list-store-insert-after">gtk_list_store_insert_after</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *sibling);void <a class="link" href="GtkListStore.html#gtk-list-store-insert-with-values">gtk_list_store_insert_with_values</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> position, ...);void <a class="link" href="GtkListStore.html#gtk-list-store-insert-with-valuesv">gtk_list_store_insert_with_valuesv</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> position, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> *columns, <ahref="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue">GValue</a> *values, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> n_values);void <a class="link" href="GtkListStore.html#gtk-list-store-prepend">gtk_list_store_prepend</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);void <a class="link" href="GtkListStore.html#gtk-list-store-append">gtk_list_store_append</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);void <a class="link" href="GtkListStore.html#gtk-list-store-clear">gtk_list_store_clear</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="GtkListStore.html#gtk-list-store-iter-is-valid">gtk_list_store_iter_is_valid</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *list_store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);void <a class="link" href="GtkListStore.html#gtk-list-store-reorder">gtk_list_store_reorder</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *store, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> *new_order);void <a class="link" href="GtkListStore.html#gtk-list-store-swap">gtk_list_store_swap</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *a, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *b);void <a class="link" href="GtkListStore.html#gtk-list-store-move-before">gtk_list_store_move_before</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *position);void <a class="link" href="GtkListStore.html#gtk-list-store-move-after">gtk_list_store_move_after</a> (<a class="link" href="GtkListStore.html" title="GtkListStore">GtkListStore</a> *store, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *position);</pre></div><div class="refsect1" lang="en"><a name="id3848325"></a><h2>Object Hierarchy</h2><pre class="synopsis"> <ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a> +----GtkListStore</pre></div><div class="refsect1" lang="en"><a name="id3848349"></a><h2>Implemented Interfaces</h2><p>GtkListStore implements <a class="link" href="gtk-gtkbuildable.html#GtkBuildable">GtkBuildable</a>, <a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a>, <a class="link" href="gtk-GtkTreeView-drag-and-drop.html#GtkTreeDragSource">GtkTreeDragSource</a>, <a class="link" href="gtk-GtkTreeView-drag-and-drop.html#GtkTreeDragDest">GtkTreeDragDest</a> and <a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable">GtkTreeSortable</a>.</p></div><div class="refsect1" lang="en"><a name="id3848400"></a><h2>Description</h2><p>The <a class="link" href="GtkListStore.html" title="GtkListStore"><span class="type">GtkListStore</span></a> object is a list model for use with a <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a>widget. It implements the <a class="link" href="GtkTreeModel.html" title="GtkTreeModel"><span class="type">GtkTreeModel</span></a> interface, and consequentialy,can use all of the methods available there. It also implements the<a class="link" href="GtkTreeSortable.html" title="GtkTreeSortable"><span class="type">GtkTreeSortable</span></a> interface so it can be sorted by the view.Finally, it also implements the tree drag anddrop interfaces.</p><p>The <a class="link" href="GtkListStore.html" title="GtkListStore"><span class="type">GtkListStore</span></a> can accept most GObject types as a column type, thoughit can't accept all custom types. Internally, it will keep a copy ofdata passed in (such as a string or a boxed pointer). Columns thataccept <ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a>s are handled a little differently. The<a class="link" href="GtkListStore.html" title="GtkListStore"><span class="type">GtkListStore</span></a> will keep a reference to the object instead of copying thevalue. As a result, if the object is modified, it is up to theapplication writer to call <em class="parameter"><code>gtk_tree_model_row_changed</code></em> to emit the"row_changed" signal. This most commonly affects lists with<ahref="/usr/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-gdk-pixbuf.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a>s stored.</p><div class="example"><a name="id3848512"></a><p class="title"><b>Example 21. Creating a simple list store.</b></p><div class="example-contents"><pre class="programlisting">enum { COLUMN_STRING,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -