• 7765阅读
  • 6回复

[提问]qt程序qwebview的print打印中文重叠 [复制链接]

上一主题 下一主题
离线acidy
 
只看楼主 倒序阅读 楼主  发表于: 2011-12-20
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —

我的QT程序QPrintPreviewDialog打印预览和打印的效果都是重叠,qwebview中显示确实正常的。
代码如下,求高手指点:

#ifndef QT_NO_PRINTER
    // 打印预览
         ui.ReportView->load(QUrl("http://www.baidu.com"));
                ui.ReportView->show();
    QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this);
    connect(dialog, SIGNAL(paintRequested(QPrinter*)),
        ui.ReportView, SLOT(print(QPrinter*)));
    dialog->exec();

    // 打印
    //QPrinter printer;
    //printer.setPaperSize(QPrinter::A4);
    //printer.setOrientation(QPrinter::Landscape);

    //QPrintDialog *dialog1 = new QPrintDialog(&printer, this);
    //if (dialog1->exec() != QDialog::Accepted)
    //{
    //    return;
    //}

    //QWebFrame *frame = ui.ReportView->page()->mainFrame();
    //frame->print(&printer);


可以断定的是和字符有关,只要存在半字节和全字节混合出现就会导致中文重叠。
但是网页肯定是中英文混合的,难道QT的webview不支持中文网页的打印吗?
离线acidy
只看该作者 1楼 发表于: 2011-12-20
这直接webview的print不能用吗?还是诺基亚认为中国人都老眼昏花?
离线roywillow

只看该作者 2楼 发表于: 2011-12-20
总感觉在哪见过这个问题……难道是qt本身的bug……?更新一下qt库试试……?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线acidy
只看该作者 3楼 发表于: 2011-12-20
引用第2楼roywillow于2011-12-20 22:16发表的  :
总感觉在哪见过这个问题……难道是qt本身的bug……?更新一下qt库试试……?


已经是最新的QT库了
离线cthawdf

只看该作者 4楼 发表于: 2011-12-21
你这样   connect(dialog, SIGNAL(paintRequested(QPrinter*)),
        ui.ReportView->page()->mainFrame(), SLOT(print(QPrinter*)));
看看行不行
离线winland
只看该作者 5楼 发表于: 2011-12-22
离线princeholy
只看该作者 6楼 发表于: 2011-12-31
楼主这个问题解决了吗  一起讨论我也遇到这个问题了   加我QQ 113132715
快速回复
限100 字节
 
上一个 下一个