QT 打印文件

1、文本打印
QPrintDialog标准对话框提供打印机的选择、配置功能,并允许改变文档有关设置,如页面范围、打印份数等。

QPrinter printer;				               // 新建一个QPrinter对象
QPrintDialog printDialog(&printer,this);
if(printDialog.exec())                                         // 判断是否点击打印按钮
{
	//获得QTextEdit对象的文档
	QTextDocument *doc =showWidget->text->document();
	doc->print(&printer);                                 // 打印
}

2、图像打印
在一个QPaintDevice中画图,都是创建一个QPainter对象进行画图,只是打印使用的是QPrinter,QPrinter本质上也是一个绘图设备QPaintDevice。

QPrinter printer;                                            // 新建一个QPrinter对象
QPrintDialog printDialog(&printer,this);
if(printDialog.exec())
{
	QPainter painter(&printer);                         // 创建一个QPainter对象,并指定绘图设备为一个QPainter对象
 	QRect rect =painter.viewport();                     // 获得QPainter对象的视图矩形区域
 	QSize size = img.size();                            // 获得图像的大小
 	/* 按照图形的比例大小重新设置视图矩形区域 */
 	size.scale(rect.size(),Qt::KeepAspectRatio);
 	painter.setViewport(rect.x(),rect.y(),size.width(),size.height());
 	painter.setWindow(img.rect());                      // 设置QPainter窗口大小为图像的大小
 	painter.drawImage(0,0,img);                         // 打印图像
}
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值