我试图允许将 QListWidget 中的项目拖到“垃圾箱”(一个接受丢弃并且不对其执行任何操作的子类小部件)。
我知道如果我setDropAction(Qt.MoveAction)
,我从源中删除的项目将被自动删除。这可以正常工作。
我的问题是我还需要触发一个操作来更新依赖源内容的其他小部件。
在我看来,dropEvent 发生在实际从源中删除任何项目之前。我很难弄清楚这个问题。我想到了两种可能的解决方案:
找到一种方法将引用嵌入到事件的 QMimeData 中被拖动的实际 QListWidgetItems。这将允许我在触发更新之前手动删除。
弄清楚如何等到源被自动清除,但我找不到在自动从列表中删除项目时触发的任何信号。