79798770

Date: 2025-10-24 12:49:25
Score: 0.5
Natty:
Report link

As a workaround, switching to a QListWidget (which has it's own model) works just fine :

# getting actual order
def qlistwidget_iter_items(lst: QListWidget, role=Qt.DisplayRole):
    for i in range(lst.count()):
        list_item = lst.item(i)
        item = list_item.data(role)
        yield item


adding item adapted :

pix = self.get_image(item.filename)
list_item = QListWidgetItem(QIcon(pix), "")
list_item.setData(Qt.ItemDataRole.DecorationRole, pix)  # image
list_item.setData(Qt.ItemDataRole.UserRole, item)  #
list_item.setSizeHint(thumbnail_size) #  self.ui.lstViewAddedItems.gridSize())
flags = list_item.flags() | Qt.ItemFlag.ItemIsDragEnabled
flags &= ~Qt.ItemFlag.ItemIsDropEnabled
list_item.setFlags(flags)
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: PMC