'how to make QPainter or Qimage Show in QGraphicsView?
I use poppler library to show pdf file . I can get Qpainter or Qimage .I used Qpixmap::fromImage to show the pdf in QGraphicsView,However, the picture becomes blurry when zoomed in.I think it might be better with use Qpainter or Qimage.
I also saw the website below, I don't know how to implement it specifically.
https://wiki.qt.io/Handling_PDF
QString m_strFileName="D:\\database.pdf";
m_document = Poppler::Document::load(m_strFileName);
m_document->setRenderHint(Poppler::Document::Antialiasing);
m_document->setRenderHint(Poppler::Document::TextAntialiasing);
scene=new QGraphicsScene();
scene->setBackgroundBrush(Qt::GlobalColor::gray);
int page_size=m_document->numPages();
for(int i=0;i<1;++i){
ppics.append((QPixmap::fromImage(GetPage(i)->renderToImage())));
}
int h=0;
for(int i=0;i<1;++i){
QGraphicsPixmapItem* newpicItem=new QGraphicsPixmapItem();
newpicItem->setPos(0,h);
newpicItem->setPixmap(ppics[i]);
h+=ppics[i].height()+20;
scene->addItem(newpicItem);
}
ui->graphicsView->setScene(scene);
QObject::connect(ui->m_zoomOutBtn, &QPushButton::clicked, [&]() { ui->graphicsView->scale(1.5,1.5); });
QObject::connect(ui->m_zoomInBtn, &QPushButton::clicked, [&]() { ui->graphicsView->scale(0.5,0.5); });
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
