[PySide] DropできるListViewを作る

以前のDrag&Dropの方法だと、画面全体へのDragDropはできても、Widget単体だと上手くいかなかったので
UI全体ではなく、特定のWidgetに対してDragDropできるようにする方法を調べてみました。

Windowに対しての場合は、
self.setAcceptDrops(True)
を入れて
dropEvent とdragEnterEventを使用すればOKでした。
が、

だけだと上手くいかず。
あれれやこれや調べたあげく

self.setDragDropMode(QtGui.QAbstractItemView.InternalMove)
この1行が必要でした(コレ調べるだけで何時間も(´・ω・`)

このプロパティは

ビューが作用するドラッグアンドドロップイベントを保持する

お、おう。
Helpは これ
デフォルトだと、外からの動作を許容しないようになっているためNGになってたというわけですね。
この辺Helpの英語のニュアンスをちゃんとつかめてないのが痛いです(汁

とりあえずコレさえ入れればWidgetへのDropもできるようなのでよしとしておこう…

コメントを残す

メールアドレスが公開されることはありません。


*