Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 允许用户重新排序GTK列表_List_Gtk_Gtk2 - Fatal编程技术网

List 允许用户重新排序GTK列表

List 允许用户重新排序GTK列表,list,gtk,gtk2,List,Gtk,Gtk2,我有一个项目列表,可以是样式文本格式,也可以是列格式,我希望用户能够自己重新排序。 (我说的也不仅仅是按列排序) 是否有一个小部件支持此功能,或者至少有一个常用的设置?您可以使用该小部件来实现此功能。此小部件中的元素可以随意重新排序,例如,您可以在列表旁边提供按钮,以提供在元素周围移动的可能性,甚至允许拖放,但这需要一些努力才能实现(编辑:至少在需要设置重新排序规则的情况下)。可以为每个单元格设置不同的背景和前景颜色,甚至可以将图像和复选框打包到单元格中。GtkTreeView可以与简单列表(用

我有一个项目列表,可以是样式文本格式,也可以是列格式,我希望用户能够自己重新排序。
(我说的也不仅仅是按列排序)

是否有一个小部件支持此功能,或者至少有一个常用的设置?

您可以使用该小部件来实现此功能。此小部件中的元素可以随意重新排序,例如,您可以在列表旁边提供按钮,以提供在元素周围移动的可能性,甚至允许拖放,但这需要一些努力才能实现(编辑:至少在需要设置重新排序规则的情况下)。可以为每个单元格设置不同的背景和前景颜色,甚至可以将图像和复选框打包到单元格中。GtkTreeView可以与简单列表(用于数据存储的GtkListStore)或树状数据结构(GtkTreeStore)一起使用

这里有一些教程,我发现其中一个非常有用的开始是它也有许多例子,事实上是从官方的GTK+网站链接。您可能还想更仔细地了解GtkTreeSortable,您可以为它定义自己的排序函数


安德鲁·克劳斯(Andrew Krause)的书中也广泛涉及了这个话题。它现在有点过时了(涵盖GTK 2),但GTK内部的GtkTreeView小部件到目前为止没有太多变化,因此内容仍然适用。

要使用拖放重新排列treeview,只需调用如果可以任意进行重新排序,那么就可以了-我将编辑我的帖子以明确这一点。