У меня есть собственный класс, унаследованный от QListWidgetItem, и другой класс, унаследованный от QListWidget.Я пытаюсь заставить Drag and Drop работать правильно.Я хочу вставить элементы именно там, где находится индикатор.Я не могу использовать стандартный QListWidget.dropEvent, потому что тогда он пытается отбросить QListWidgetItems ... не объекты моего класса.Вот часть моего dropEvent, но это не очень хорошо:
def dropEvent(self, event):
item=event.source().currentItem().clone()
oldrow=event.source().row(event.source().currentItem())
o=event.source().takeItem(oldrow)
del(o)
cursorpos=self.mapFromGlobal(QtGui.QCursor.pos())
itembefore=self.itemAt(cursorpos)
print itembefore
if itembefore:
row=self.row(itembefore)
self.insertItem(row, item)
else:
self.addItem(item)
Теперь он всегда сбрасывает предметы После того, как предмет вы бросаете ... и не всегда, где отображается индикатор.Некоторые идеи?