Du brauchst aber das Item.... und jetzt schau mal in der Doku nach welche Funktion dir ein QListWidgetItem * zurückliefert.... und dann hast es!
QListWidgetItem * QListWidget::item ( int row ) const
Returns the item that occupies the given row in the list if one has been set; otherwise returns 0.
Zurückgeliefert wird der Inhalt der Zeile i.
Falls nicht vorhanden, wird 0 zurückgeliefert.
Aber das Problem ist doch, dass das i vom Typ int nicht akzeptiert wird.
Es muss in einer Schleife sein.
In dem ListWidget sind Dateinamen.
Es wird geprüft, ob es sich um xml-Datei handelt.
Da alle einzeln geprüft werden müssen, habe ich eine Schleife benutzt.
i ist also ein int aus dieser Schleife.
if (/* messageBox bla foo */)
{
foreach (QListWidgetItem* item, listWidget->selectedItems())
{
if (/* item is xml */)
{
listWidget->removeItemWidget(item);
delete item;
}
}
}
Ungetestet. Ausserdem versteh ich nich ganz was du tun willst.
[edit] vergiss es wieder, ich dachte die sollen manuell gewählt werden.
nkc hat geschrieben:i ist also ein int aus dieser Schleife.
Und du erwartest, dass das i (Einfacher Zähler von 0 bis Max) auch automatisch dem currentRow entspricht? Anders lässt sich dein listWOpen->item(i) nicht erklären.