我有我自己的類繼承自QListWidgetItem,另一類繼承自QListWidget。我正在嘗試使拖放功能正常工作。我想要將項目完全插入指示符所在的位置。我不能使用標準的QListWidget.dropEvent,因爲它試圖刪除QListWidgetItems ...而不是我的類的對象。這裏是我的dropEvent的一部分,但它不是真正的好:如何在某些項目之間刪除QListWidget上的項目?
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)
現在它總是下降的項目,你就...放下該項目後,它其中顯示指標始終不是。一些想法?
我不知道它如何幫助?我已經通過克隆它來創建我的類的對象(不是最好的主意,但工程)...但我仍然不能使用標準的dropEvent,甚至在我的函數中調用QListWidget.dropEvent(self,event)。對我來說最好的幫助就是看看python中的originall dropEvent函數的外觀 – middleofdreams 2012-03-15 08:40:53