小编Kir*_*nko的帖子

QWebView:打印问题

我正在尝试通过QWebView创建报告,通过QPrintPreviewDialog显示并打印它.假设我想创建分割到多个页面的100行表,并将当前行号添加到每个页面的页脚(我的实际任务的抽象变体).我的代码:

    void MainWindow::preview(){
    QPrinter printer;
    printer.setPageSize(QPrinter::A4);
    printer.setOrientation(QPrinter::Portrait);
    printer.setPageMargins(10,10,10,10,QPrinter::Millimeter);

    QPrintPreviewDialog print_preview(&printer, this);
    print_preview.setWindowState(Qt::WindowMaximized);
    connect(&print_preview, SIGNAL(paintRequested(QPrinter*)), this, SLOT(paint_pages(QPrinter*)));
    print_preview.exec();
}

void MainWindow::paint_pages(QPrinter *printer){
    QList<QWebView*> pages;
    QWebView *current = 0;
    QPainter painter(printer);
    int i = 0;
    while(i <= 100){
        current = new QWebView();
        pages << current;
        i = populate_web(current, printer, i);
    }
    int pc = pages.count();
    for(i = 0; i < pc; i++){
        if(i != 0) printer->newPage();
        pages.at(i)->render(&painter);
    }
    for(i = 0; i < pc; i++)
        delete pages.at(i);
}


int MainWindow::populate_web(QWebView *pg, QPrinter …
Run Code Online (Sandbox Code Playgroud)

c++ qt

5
推荐指数
1
解决办法
1468
查看次数

标签 统计

c++ ×1

qt ×1