Skip to content

Commit 0aa3fcc

Browse files
committed
Drag and drop (needs fix)
1 parent 40aab9b commit 0aa3fcc

File tree

2 files changed

+104
-3
lines changed

2 files changed

+104
-3
lines changed

drag.ui

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>Form</class>
4+
<widget class="QWidget" name="Form">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>400</width>
10+
<height>300</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>Form</string>
15+
</property>
16+
<widget class="QTreeWidget" name="treeWidget">
17+
<property name="geometry">
18+
<rect>
19+
<x>40</x>
20+
<y>30</y>
21+
<width>256</width>
22+
<height>192</height>
23+
</rect>
24+
</property>
25+
<property name="frameShadow">
26+
<enum>QFrame::Sunken</enum>
27+
</property>
28+
<property name="lineWidth">
29+
<number>1</number>
30+
</property>
31+
<property name="dragEnabled">
32+
<bool>true</bool>
33+
</property>
34+
<property name="dragDropOverwriteMode">
35+
<bool>false</bool>
36+
</property>
37+
<property name="dragDropMode">
38+
<enum>QAbstractItemView::InternalMove</enum>
39+
</property>
40+
<property name="selectionMode">
41+
<enum>QAbstractItemView::ExtendedSelection</enum>
42+
</property>
43+
<column>
44+
<property name="text">
45+
<string>1</string>
46+
</property>
47+
</column>
48+
<item>
49+
<property name="text">
50+
<string>a</string>
51+
</property>
52+
<item>
53+
<property name="text">
54+
<string>aa</string>
55+
</property>
56+
</item>
57+
<item>
58+
<property name="text">
59+
<string>ab</string>
60+
</property>
61+
</item>
62+
</item>
63+
<item>
64+
<property name="text">
65+
<string>b</string>
66+
</property>
67+
<item>
68+
<property name="text">
69+
<string>ba</string>
70+
</property>
71+
</item>
72+
<item>
73+
<property name="text">
74+
<string>bb</string>
75+
</property>
76+
</item>
77+
</item>
78+
<item>
79+
<property name="text">
80+
<string>c</string>
81+
</property>
82+
<item>
83+
<property name="text">
84+
<string>ca</string>
85+
</property>
86+
</item>
87+
<item>
88+
<property name="text">
89+
<string>cb</string>
90+
</property>
91+
</item>
92+
</item>
93+
</widget>
94+
</widget>
95+
<resources/>
96+
<connections/>
97+
</ui>

editor/views.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import os
22
import pyunity as pyu
3-
# from PyQt5.QtCore import QItemSelectionModel, QModelIndex
3+
from PyQt5.QtCore import QItemSelectionModel, QModelIndex
44
from PyQt5.QtCore import Qt
55
from PyQt5.QtGui import QIcon
66
from PyQt5.QtWidgets import *
77

88
class HierarchyItem(QTreeWidgetItem):
99
def __init__(self, gameObject):
1010
super(HierarchyItem, self).__init__()
11+
# self.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsDropEnabled | Qt.ItemIsDragEnabled)
1112
self.setText(0, gameObject.name)
1213
self.name = gameObject.name
1314
self.gameObject = gameObject
@@ -155,6 +156,10 @@ def __init__(self, parent):
155156
super(CustomTreeWidget, self).__init__(parent)
156157
self.setSelectionMode(QAbstractItemView.ExtendedSelection)
157158
self.header().setVisible(False)
159+
self.setDragEnabled(True)
160+
# self.viewport().setAcceptDrops(True)
161+
self.setDropIndicatorShown(True)
162+
self.setDragDropMode(QAbstractItemView.InternalMove)
158163
self.setIndentation(10)
159164

160165
def selectAll(self):
@@ -165,9 +170,8 @@ def selectAll(self):
165170

166171
# def mousePressEvent(self, event):
167172
# item = self.indexAt(event.pos())
168-
# selected = self.selectionModel().isSelected(item)
169173
# super(CustomTreeWidget, self).mousePressEvent(event)
170-
# if (item.row() == -1 and item.column() == -1) or selected:
174+
# if item.row() == -1 and item.column() == -1:
171175
# self.clearSelection()
172176
# self.selectionModel().setCurrentIndex(QModelIndex(), QItemSelectionModel.Select)
173177

0 commit comments

Comments
 (0)