Qt 如何显示图片
我希望在一个区域中显示一个图片,如果图片的大小大与该区域的大小,则产生滚动条使用户能够浏览整个图片。
请问,如何实现?有没有哪个类能够直接实现?
谢谢
[解决办法]
我记得QGraphicsScene默认viewRect的时候,跟你想要的效果一样。
参考下面的代码:
QGraphicsView *view = new QGraphicsVIew;
QGraphicsScene *scene = new QGraphicsScene;
QGraphicsPixmapItem *item = new QGraphicsItem;
view->setScene(scene);
item->setPixmap(你想要显示的图片);
scene->addItem(item);
item->setPos(0,0);
view->show();
如果是在QMainWindow里显示
可以用setCentralWidget(view);把view放在中间。
代码是想这写的,没编译,可能有错的地方。凑合着参考下
[解决办法]
QPixmap pixmap("27.jpg");
QGraphicsView *view = new QGraphicsView;
QGraphicsScene *scene = new QGraphicsScene;
QGraphicsPixmapItem *item = new QGraphicsPixmapItem;
view->setScene(scene);
item->setPixmap(pixmap);
scene->addItem(item);
item->setPos(0,0);
view->show();
QVBoxLayout* mainLayout = new QVBoxLayout(this);
mainLayout->addWidget(view);
mainLayout->setMargin(0);
setLayout(mainLayout);