捕获PyGTK TreeView reord

2024-06-10 13:22:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的gtk.TreeView,有一个gtk.ListStore模型和set_reorderable(True),我想捕捉用户通过拖放列表重新排序时发出的信号/事件,但文档没有太大帮助:

“应用程序可以通过连接到模型的信号来监听这些变化”

所以我试着连接模型(ListStore)信号。。。但是惊喜!ListStore没有信号,所以你被调度到TreeModel信号,然后我试图连接TreeModel“rows reordered”信号,但没有幸运。在

我应该如何捕捉用户执行的列表重新排序?在


Tags: 用户文档模型true应用程序gtk列表信号
2条回答

目前在PyGTK中无法做到这一点。”rowsreordered”是正确的信号,但是在PyGTK中除了“以某种方式重新排序”之外,不可能从中获得任何信息。在cgtk+中,您可以使用相同的信号并在回调中获取所需的信息,但不能使用Python。在

我也有这个问题,文件也不清楚。但这是我发现的

“行重新排序”信号在

tvcolumn.set_sort_column_id(0)

但是,您仍然将信号绑定到树模型。在

^{pr2}$

这将导致可见列标题变为可单击。当您单击列标题时,它将按升序重新排列树中的项目,如果您再次单击它,它将按降序重新排序,并来回排列。在

这里有一个简单的代码,你可以测试一下我的意思。在

^{3}$

相关问题 更多 >