【问题标题】:QImage::load jpg not plotting to view / scene?QImage::load jpg 不绘制视图/场景?
【发布时间】:2013-08-08 17:28:30
【问题描述】:

图像没有被绘制到屏幕上?

QGraphicsScene *scene = new QGraphicsScene();
scene->setSceneRect(0, 0, 996, 996);
scene->setItemIndexMethod(QGraphicsScene::NoIndex);

QGraphicsView *view = new QGraphicsView();
view->setScene(scene);
view->setRenderHint(QPainter::Antialiasing);
view->setBackgroundBrush(Qt::white);
view->setCacheMode(QGraphicsView::CacheBackground);
view->setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
view->setDragMode(QGraphicsView::ScrollHandDrag);
view->setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Colliding Mice"));
view->resize(1000, 1000);
view->show();

QImage img(996, 996, QImage::Format_ARGB32);
img.load("/home/blabla/scene8.jpg", 0);
QPainter painter(&img);
view->render(&painter, view->sceneRect());

【问题讨论】:

  • 其余代码在哪里?设置好场景和视图后,创建一个 QImage 并向其渲染 jpg。您需要显示将对象添加到包含 QImage 的场景的代码,或者这就是您所做的全部?

标签: c++ qt qimage


【解决方案1】:

用作基础:Display QImage with QtGui

QGraphicsScene *scene = new QGraphicsScene();

QPixmap image;
image.load("/home/blabla/scene8.jpg", 0);
scene->addPixmap(image);
scene->setSceneRect(image.rect());

QGraphicsView *view = new QGraphicsView();
view->setScene(scene);
view->setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "My Plot"));
view->resize(1000, 1000);
view->show();

【讨论】:

    猜你喜欢
    • 2012-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2023-04-03
    相关资源
    最近更新 更多