In the slot connected to the Add button you open your file dialog and, if the user does not cancel, add the selectedFiles() to the model that underlies the QListView (or add it to a QListWidget). You should look at QStringListModel if what you want to display in your list box is the paths to the selected files with (perhaps) a small icon version of the picture. You could derive from QStringListModel or QAbstractListModel to create your own model if you want to do something more advanced.

The reference to subclassing QFileDialog above is to support your request for the file selection dialog to preview images.

You're probably going to continue getting broad descriptions like this until you read the documentation, try the examples, and try to build your solution. Then you should be able to ask specific questions with specific answers.