お世話になります・杉原@CircleTekです
すみません タイトルを訂正して再送いたします
Qt5.12.3(msvc2017_64) で複数の画像をタイル型式に並べて表示する方法とその 画像をマウスで選択した時にどの(何番目の)画像を選択したのかを調べる方法に ついて教えて下さい
QStringList jpegList に複数(例えば30枚)の画像ファイル名が格納されてい ます 此れを4列8行のように画像を並べて表示したいのですが
graphicsView を額縁 QGraphicsScene をキャンバスと考えて
QGraphicsScene に pixmap 画像を登録、graphicsView を画像枚数分並べてその 中に QGraphicsScene を set していくのがよいのか
pixmap 画像を QGraphicsPixmapItem *item = new QGraphicsPixmapItem(pixmap); として item を画像枚数分作成して QGraphicsScene に addItem して graphicsView に QGraphicsScene を set していくのがよいのでしょうか
因みに以下のようなソースで 一列ですが後の方法で画像の表示は出来たのです がはたしてこの方法で良いのか、 この方法でどうすればマウスで選択した時の情報が得られるのか。。。
{// Jpeg 表示
QString FName; QStringList jpegList; int w= 640 ; int h = 480; int i;
QPixmap pixmap; QImage image(w,h,QImage::Format_ARGB32);
myScene.clear(); for(i=0; i < jpegList.count() ;i++){ image.isNull(); image.load(jpegList.at(i)); pixmap = QPixmap::fromImage(image); pixmap = pixmap.scaled(340,240, Qt::KeepAspectRatio, Qt:: FastTransformation); QGraphicsPixmapItem *item = new QGraphicsPixmapItem(pixmap); item->setX(0); item->setY(i*240); item->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem:: ItemIsSelectable); myScene.addItem(item); ui->graphicsView->setScene(&myScene); }
this->update(); }
宜しくご教示下さい