2016-03-22 7 views
0

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

    } 
+0

たとえば、QGraphicsViewとQGraphicsSceneを使って画像を表示することもできますし、ウィジェット用の単純なレイアウトを使用することもできます。あなたが望むものによって異なります。 – user2061057

+0

イメージをラベルとして表示するのに十分な例があります。世話をすることについて:pngだけがデフォルトでサポートされています。他のフォーマットについては、http://stackoverflow.com/a/12800429/104774を参照してください。 – stefaanv

答えて

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.) 
} 

このように、ラベルは正しく表示されるはずです。

関連する問題