QListWidget拖放内部移动信号

QListWidget drag drop internalMove signal

我确实将 QListWidgetdragDropMode 更改为 InternalMove。现在可以通过拖放更改项目的顺序。

我现在需要在项目顺序发生变化时执行一个函数。 因此,我想 connect 向我的功能之一发出信号。

但是,我很难找到正确的信号。 我尝试了很多(例如:itemChanged),但到目前为止没有运气。

有人知道当我通过拖放更改项目顺序时会发出哪个信号吗?

示例:我想将 drag_drop 操作连接到 self.drag_drop_happened() 函数。

from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QVBoxLayout
import sys
class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.InitWindow()

    def InitWindow(self):
        self.setWindowTitle("Drag Drop enabled")
        vbox= QVBoxLayout()
        self.list = QListWidget()
        self.list.insertItem(0, "A")
        self.list.insertItem(1, "B")
        self.list.insertItem(2, "C")
        self.list.insertItem(3, "D")
        self.list.setDragDropMode(self.list.InternalMove)
        vbox.addWidget(self.list)
        self.setLayout(vbox)
        self.show()
        # self.list connect to self.drag_drop_happened()
        
    def drag_drop_happened(self):
        pass
    
App = QApplication(sys.argv)
window = Window()
sys.exit(App.exec())
self.list.model().rowsMoved.connect(self.drag_drop_happened)

void QAbstractItemModel::rowsMoved(const QModelIndex &parent, int start, int end, const QModelIndex &destination, int row)