3

gtk.Treeviewドラッグソースとしてセットアップがあります:

self.drag_source_set(gtk.gdk.BUTTON1_MASK, targets, gtk.gdk.ACTION_COPY)

TreeSelection設定されていSELECT_MULTIPLEます。

しかし、複数行の選択をドラッグしようとするたびに、カーソルが現在のマウスの位置にジャンプし、選択が現在の行にリセットされます。マウスが選択された行の 1 つの上にあっても。ShiftまたはCtrlボタンを押したままにすると機能します。

何が起こっている?

編集1:

コードのバグを除外するために最低限のツリービューを設定しましたが、同じことを行います。

編集2:

私がやりたいことをするコードスニペットを見つけました。それは、と呼ばれる quod libet ソースからのものMultiDragTreeViewです。

4

2 に答える 2

1

私がやりたいことをするコードスニペットを見つけました。これは、 'MultiDragTreeView'と呼ばれる quod libet ソースからのものです。docstring の引用:

"""TreeView with multirow drag support:
* Selections don't change until button-release-event...
* Unless they're a Shift/Ctrl modification, then they happen immediately
* Drag icons include 3 rows/2 plus a "and more" count"""
于 2013-01-13T13:05:30.667 に答える