【发布时间】:2018-01-07 11:01:06
【问题描述】:
我是 Python/PyQt (v4) 新手,正在继承 QListWidget 并利用其内部拖放机制:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class AlgorithmListControl(QListWidget):
def __init__(self, parent = None):
super(AlgorithmListControl, self).__init__(parent)
self.setAcceptDrops(True)
self.setDragEnabled(True)
self.setDragDropMode(QAbstractItemView.InternalMove)
我对默认行为和外观感到满意,并且我能够在小部件内部拖放项目。现在,我想添加一些在拖动操作开始时和放置操作结束后发生的自定义逻辑。我遇到的麻烦是如果我处理事件,例如如下所示的dragEnterEvent:
def dragEnterEvent(self, event):
...
然后我不再获得良好的默认拖放行为(我无法将项目拖动到新位置,我没有获得水平插入指示器等)。如何保留标准拖放行为但在这两个事件点添加我的自定义逻辑?提前谢谢你。
【问题讨论】:
标签: pyqt pyqt4 qlistwidget