如何用可复制的文本从QGraphicsScene生成pdf文件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (113)

我的代码通过将QGraphicsScene内容呈现到正确初始化的QPrter上生成pdf。在处理应用程序时,可以编辑、复制到剪贴板等。我如何从QGraphicsScene生成pdf,其中我的文本字符串也可以被复制,或者这是不可能的,我需要为这些任务创建QTextDocument?

QGraphicsTextItem* textItem = new QGraphicsTextItem ( text );

textItem->setPlainText ( text );
textItem->setTextInteractionFlags ( Qt::TextEditorInteraction );
textItem->setFlags( QGraphicsItem::ItemIsSelectable | textItem->flags() );

scene->addItem( textItem );

QPrinter pdfPrinter; 
pdfPrinter.setOutputFormat( QPrinter::PdfFormat );
pdfPrinter.setPaperSize( QSize(scene->width(), scene->height()), QPrinter::Point );
pdfPrinter.setFullPage(true);
pdfPrinter.setOutputFileName( path );

QPainter pdfPainter;
pdfPainter.begin( &pdfPrinter);
scene->render( &pdfPainter );
pdfPainter.end();
提问于
用户回答回答于

看起来必须使用QTextDocument并将你的内容编写为HTML。

扫码关注云+社区

领取腾讯云代金券