【发布时间】:2013-01-24 03:02:41
【问题描述】:
正如标题所示,我有一个gtk.TreeView,其模型已排序和过滤。根据documentation:“拖放重新排序行仅适用于未排序的商店。”。给出的唯一其他信息与使用外部资源有关,在这种情况下我不需要。
我还是尝试实现它,为接收到的拖放信号和拖放信号提供处理程序,但仍然收到以下错误:
GtkWarning:当使用不支持 GtkTreeDragDest 接口并启用拖放的模型时,您必须覆盖 GtkTreeView 上的默认 'drag_data_received' 处理程序。最简单的方法是连接到“drag_data_received”并在信号处理程序中调用 g_signal_stop_emission_by_name() 以防止默认处理程序运行。查看 gtktreeview.c 中默认处理程序的源代码,了解您的处理程序应该做什么。 (gtktreeview.c 在 GTK 源代码中。)如果您使用的不是 C 语言的 GTK,则可能有一种更自然的方式来覆盖默认处理程序,例如通过推导。
尽管如此,虽然我还没有实现它,但看起来我可以让它工作,因为它不会崩溃。然而,这是一个我宁愿没有的警告。
那么,有没有与 g_signal_stop_emission_by_name 等效的 python,还是我走错了路?
【问题讨论】:
标签: python pygtk gtktreeview