PyQt4 – Eliminar widget de elemento de QListWidget

Tengo un QListWidget y necesito eliminar algunos elementos.

Por lo que he investigado, esto es una cosa generalmente desagradable.

He leído un montón de soluciones, pero ninguna es aplicable a mi escenario específico.
En este momento, solo tengo los Widgets de artículo reales para tratar; No sus valores o índice.

Esto se debe a que .selectedItems() los elementos (necesarios para ser eliminados) a través de .selectedItems() .

Aquí está el código:

 ItemSelect = list(self.ListDialog.ContentList.selectedItems()) for x in range (0, len(ItemSelect)): print self.ListDialog.ContentList.removeItemWidget(ItemSelect[x]) 

Sin embargo, esto no hace nada en absoluto.
No genera un error, pero los elementos seleccionados no se eliminan.
Los métodos que he visto para eliminar elementos requieren el índice o el nombre del elemento, ninguno de los cuales tengo. Sólo tengo los widgets reales.

¿Cómo los elimino?

¿Me estoy perdiendo de algo?

Estoy usando:

Python 2.7.1
PyQt4 IDLE 1.8
Windows 7

TakeItem () debería funcionar:

 for SelectedItem in self.ListDialog.ContentList.selectedItems(): self.ListDialog.ContentList.takeItem(self.ListDialog.ContentList.row(SelectedItem)) 

Eliminar un elemento de ListWidget:

 item = self.listWidget.takeItem(self.listWidget.currentRow()) item = None 

Es extraño que no haya una forma directa de eliminar elementos de QListWidget … Intente esto:

 listWidget = self.ListDialog.ContentList model = listWidget.model() for selectedItem in listWidget.selectedItems(): qIndex = listWidget.indexFromItem(selectedItem) print 'removing : %s' %model.data(qIndex).toString() model.removeRow(qIndex.row())