我有自己的类继承自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)
在你把物品扔到你身上之后。。。它并不总是显示指示器的位置。有什么想法吗?在
我找到了一些解决办法。有点脏但很管用:
我使用标准的dropEvent只是为了得到行号。。。在
我不知道Python,但是C++中你可以用 Case来解决你的问题。(伪C++代码:)
相关问题 更多 >
编程相关推荐