gpt4 book ai didi

qt - 无法移动到下一页以使用 QPrinter 打印 HTML 内容

转载 作者:行者123 更新时间:2023-12-02 01:08:19 25 4
gpt4 key购买 nike

在我的小应用程序中,我想在每个页面中预览一些 HTML 内容,所以我使用了以下代码

/*
* Handle events when clicking button to preview content
*/
void MainWindow::on_pushButton_clicked()
{
QPrinter printer;
printer.setPaperSize(QPrinter::A4);
printer.setOrientation(QPrinter::Portrait);
printer.setFullPage(true);

QPrintPreviewDialog *printPreview = new QPrintPreviewDialog(&printer);
connect(printPreview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(printAllTitle(QPrinter*)));

printPreview->setWindowTitle("Demo");
Qt::WindowFlags flags(Qt::WindowTitleHint);
printPreview->setWindowFlags(flags);
printPreview->showMaximized();
printPreview->exec();
}

/*
* Show preview content
*/
void MainWindow::printAllTitle(QPrinter *printer)
{
QVector<QString> titles;
titles.push_back("Title 1");
titles.push_back("Title 2");

QString strStream;
QTextStream out(&strStream);

for (int i = 0; i < titles.size(); i++) {
out << "<html><head></head><body>";
out << "<p style=\"font-size:20pt\">" + titles.at(i) + "</p>";
out << "</body></html>";

printer->newPage(); // Don't move the next page !!!
}

QTextDocument *document = new QTextDocument();
document->setHtml(strStream);
document->print(printer);
delete document;
}

以及我得到的结果页面

Cannot move the next page

多次测试结果页后,我发现打印机没有移动下一页打印HTML内容。

我该如何解决这个问题?

谢谢!

最佳答案

我想你可以尝试添加这个来打破页面。

<div style=\"page-break-after:always\"></div>

关于qt - 无法移动到下一页以使用 QPrinter 打印 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19993869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com