【发布时间】:2012-03-31 16:36:20
【问题描述】:
我有自己的类继承自 QListWidgetItem 和另一个继承自 QListWidget。我正在尝试使拖放正常工作。我想在指示器的确切位置插入项目。我不能使用标准的 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)
现在它总是在你放置的物品之后掉落物品......而且它并不总是显示指示器。有什么想法吗?
【问题讨论】: