How can i iterate through QListWidget items and work with each item?

You can do something like this:

for(int i = 0; i < listWidget->count(); ++i)
{
    QString str = listwidget.item(i)->text();
    //Do stuff!
}

I don't think the items function does what you think it does. It sounds like it's for decoding MIME data, not getting a list of all the items in the widget.

I don't actually see any function to do exactly what you want, sadly. You could probably use findItems as a workaround, but that seems ugly, if not downright abusive... At least you can still use the item function with good old for loops - they're not that much more typing:

for(int i = 0; i < listWidget->count(); ++i)
{
    QListWidgetItem* item = listWidget->item(i);
    //Do stuff!
}

Hope that helps!