我想通过以下拖放行为创建2个QListWidget(让我们称之为#34; A"以及" B"):
参赛作品可以从" A"到" B"
参赛作品不能从" A"到" B"
不能移动或复制条目" B"到" A"
最后一点不是问题,但我还没有找到一种方法来禁用移动操作,同时允许从" A"到" B"。
有人能指出我在哪里看吗?
感谢。
答案 0 :(得分:1)
这似乎解决了我的问题:
class ListB(QtGui.QListWidget):
def __init__(self, parent):
super(ListB, self).__init__(parent)
self.setAcceptDrops(True)
def supportedDropActions(self):
return QtCore.Qt.CopyAction
答案 1 :(得分:0)
您必须将mimeData设置为独占值(可能类似于“myapplication / somewidget-somefeature”),请参阅dragEnterEvent
in the draggable example以了解如何接受/拒绝拖动。
请参阅如何设置mimeData的同一示例dropEvent
答案 2 :(得分:0)
如果您不需要在列表“A”中移动项,解决方案很简单:
self.listA.setDragEnabled(True)
self.listB.setAcceptDrops(True)