Я изменил dragDropMode
моего QListWidget
на 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())