2
와 HTML 콘텐츠를 인쇄 할 다음 페이지로 이동할 수 없습니다, 나는 각 페이지에 일부 HTML 콘텐츠를 미리 볼 그래서 나는 다음과 같은 코드내 작은 응용 프로그램에서 QPrinter
/*
* 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;
}
내가
을받은 결과 페이지를 사용결과 페이지를 여러 번 테스트 한 후 프린터가 다음 페이지를 이동하여 HTML 콘텐츠를 인쇄하지 않는다는 것을 깨달았습니다.
이 문제를 어떻게 해결할 수 있습니까?
감사합니다.
'for' 루프의 미리보기 창에 아무 것도 인쇄하지 않습니다. – RobbieE