Я пытаюсь создать приложение PyQt5, я хотел бы создать виджет списка, элементы которого можно перетаскивать, но каждый виджет также связан с флажком.
Я могу создать возможность перетаскивания QListWidget
, например, так:
import sys
from PyQt5.QtWidgets import QApplication, QListWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
lw = QListWidget()
for i in range(5):
text = f'Item {i}'
lw.addItem(text)
lw.setDragDropMode(lw.InternalMove)
lw.show()
sys.exit(app.exec_())
Однако, когда я пытаюсь добавить флажки для каждого элемента, функциональность перетаскивания кажется нарушенной.Перетаскивание не работает с кодом ниже:
import sys
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem
from PyQt5.QtCore import Qt
if __name__ == '__main__':
app = QApplication(sys.argv)
lw = QListWidget()
for i in range(5):
text = f'Item {i}'
item = QListWidgetItem(text)
item.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
lw.addItem(item)
lw.setDragDropMode(lw.InternalMove) # Drag and drop doesn't work...
lw.show()
sys.exit(app.exec_())
Есть ли способ получить перетаскиваемые элементы, каждый из которых также содержит флажок?
Заранее спасибо