Qt 文本编辑器之打印文档

今天我们继续完善之前的文本编辑器,实现文件菜单中最后一个功能:打印预览和打印

修改头文件,声明打印、打印预览和一个printPreview槽函数

private slots:    void filePrint();    void filePrintPreview();    void printPreview(QPrinter *);

首先来实现打印预览功能

1 void MainWindow::filePrintPreview ()2 {3     QPrinter printer(QPrinter::HighResolution);4     QPrintPreviewDialog preview(&printer, this);5     preview.setWindowTitle (tr("打印预览"));6     connect(&preview, SIGNAL(paintRequested(QPrinter*)), SLOT(printPreview(QPrinter*)));7     preview.exec ();8 }

首先初始化一个QPrinter类并设置它的打印模式为高分辨率打印,即600dpi

QPrintPreviewDialog类需要生成一个预览页面的时候会发射一个paintRequested(QPrinter *)信号,我们链接到printPreview(QPrinter *)函数。最后使用exec来show出打印预览对话框。printPreview(QPrinter *)函数如下:

void MainWindow::printPreview (QPrinter *printer){    textEdit->print(printer);}

调用textEdit的print方法将内容显示在QPrintPreviewDialog上

同样,打印功能也很类似:

void MainWindow::filePrint (){     QPrinter printer(QPrinter::HighResolution);     QPrintDialog *printDialog=new QPrintDialog(&printer,this);     if(printDialog->exec ()==QDialog::Accepted)      {         textEdit->print (&printer);      }     delete printDialog;}

如果用户点击确定,就会执行打印。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值