用Qt显示很多图像

时间:2016-03-22 09:53:51

标签: c++ qt

我想在我的Qt应用程序中显示很多图像,因为我创建了一个按钮,单击该按钮将访问计算机的用户并添加图像。我的问题是我不知道如何在应用程序中显示这些图像。

这是我的代码:

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();
     }

  }

1 个答案:

答案 0 :(得分:1)

您应该为要显示的所有图像使用滚动区域。您可以根据您希望如何排列这些图像来设置布局,并使用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.)
}

这样,应该没问题,你的标签应该正确显示。