Qt PNG图像无法显示

时间:2013-04-09 17:01:36

标签: qt qimage qpixmap

我只是无法显示png图像,我检查它是否正确加载,但我的空白画布上没有显示任何内容。第三个是用于显示图像。有人可以快点看看吗?感谢。

QImage * QI = new QImage;
bool Check = QI->load("test.png");
QGraphicsPixmapItem * QII = new QGraphicsPixmapItem(QPixmap::fromImage(*QI));

QRect ImagePanelArea1(0, MenuBarHeight, 
                      ScreenWidth / 3, (ScreenHeight / 2) - MenuBarHeight);
QRect ImagePanelArea2(ScreenWidth / 3, MenuBarHeight, 
                      ScreenWidth / 3, (ScreenHeight / 2) - MenuBarHeight);
QRect ImagePanelArea3((ScreenWidth / 3) * 2, MenuBarHeight, 
                      ScreenWidth / 3, (ScreenHeight / 2) - MenuBarHeight);

QGraphicsScene * QGS1 = new QGraphicsScene(ImagePanelArea1, this);
QGraphicsScene * QGS2 = new QGraphicsScene(ImagePanelArea2, this);
QGraphicsScene * QGS3 = new QGraphicsScene(ImagePanelArea3, this); 
QGS3->addItem(QII);

QGraphicsView * QGV1 = new QGraphicsView(QGS1, this); 
QGV1->setGeometry(ImagePanelArea1); 
QGV1->show();
QGraphicsView * QGV2 = new QGraphicsView(QGS2, this); 
QGV2->setGeometry(ImagePanelArea2); 
QGV2->show();
QGraphicsView * QGV3 = new QGraphicsView(QGS3, this); 
QGV3->setGeometry(ImagePanelArea3); QGV3->show();

1 个答案:

答案 0 :(得分:1)

你确定你的物品不在场景之外QGS3吗?

QII位于(0;0)位置。您的场景的QRect是在点((ScreenWidth / 3) * 2, MenuBarHeight)和点(ScreenWidth / 3, (ScreenHeight / 2) - MenuBarHeight)之间定义的。

因此,如果您的图片不如(ScreenWidth / 3) * 2大,那么您的商品将不可见。