ner
ner

Reputation: 711

display a lot of images with Qt

I want to display a lot of images in my Qt application, for that I have created a button that when clicked will access to the computer's user and add images. My issue is that I don't know how to display these images in the application.

Here is my Code:

void Mainwindow::on_pushButton_pressed()
 {
     QStringList fileName = QFileDialog::getOpenFileNames(this,tr("Open Image"), 
                            "C:/qt-win-opensource-src-4.5.0/bin/",
                            tr("Image Files(*.png *.jpg *.bmp *.avi *.gif)"));

     iterator = new QStringListIterator(fileName);
     label = new QLabel;
     if(iterator->hasNext())
     {
         label->clear();
         label->setPixmap(QPixmap(iterator->next()));
         label->show();
     }

  }

Upvotes: 0

Views: 1011

Answers (1)

Bogdan Constandache
Bogdan Constandache

Reputation: 48

You should use a scroll area for all those images you want to be displayed. You can set a layout depending on how you want those images to be arranged and display them using instances of QLabel.

iterator = new QStringListIterator(fileName);
label = new QLabel;
if(iterator->hasNext())
{
    label->clear();
    label->setPixmap(QPixmap(iterator->next()));
    ui->scrollArea->layout()->addWidget(label); // need to add a scroll area widget in your ui file
                                                // and set layout to it (horizontal, vertical, grid etc.)
}

This way, should be no problem and your labels should be displayed properly.

Upvotes: 1

Related Questions