Hi all
I'm trying to implement Drag & Drop in my QTreeWidget based GUI but
it is not clear to me how to proceed (after having read the Doc and
googled it).
I have several question (tree = QTreeWidget())
1) I have activated:
tree.setSelectionMode(QAbstractView.ExtendedSelection)
yet before I would just keep the mouse pressed and slide over
the selection I wanted but now that is not possible. Is there a way
to maintain such behaviour and force that the drag is only performed
on a second click over the selection ?
not sure i undertstand what you mean - but i would have thought the
selection behaviour changed because you enabled drag and drop, not
because you changed the selection mode.
2) how do I force a certain QTreeWidgetItem NOT to accept drops ?
http://doc.trolltech.com/4.5/qtreewidgetitem.html#setFlags
3) I have a specific tree:
RootItem
|
| --- Campaign1
| |
| |---- Folder1
| |
| |------ Calc1
path1 (where path1= /home/ .... /Folder1/calcname1
| |------ Calc2
path2 (where path2= /home/ .... /Folder1/calcname2
|
| --- Campaign2
So what I would like would be to drag only items of name
"calc*" to nodes of type "campaign" (ex: Campaign2)
use QTreeWidgetItem flags to control which items can be dropped
on/dragged/selected etc.
and when doing so create the sub-node "Folder1" if it does not exist within
"campaign" and put the dragged items under "folder1" (and not
"campaign" where they were dropped). How to do this ? Do I do this
in a dropEvent? In a dropEventAction ?
you could monitor the tree using QTreeView.rowsInserted and then
reparent dropped items as necessary.
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt