python怎么打印图片_Python中PyQt5的QPrinter控件使用详解,打印图形界面中的图像...

前面内容,我们介绍了PyQt5中常用的一些控件

0ff41bd5ad6eddc4160119bf5ff524fb53663340.jpeg?token=6835fdf324c743c9854d1eeac6fecfa9下面内容可以参考下

为界面添加功能丰富的工具箱,Python中PyQt5之QToolBar类的使用

Python用PyQt5设计界面之菜单制作,QMenuBar详解

Python用PyQt5创建时间日期控件,Qt图形界面编程之QDateTimeEdit

“五一”快到了,用Python中PyQt5做一个日历,QCalendar控件详解

Python用PyQt5设计界面,如何正确显示一幅图片,QPixmap控件详解

其中,也涉及了一个QPixmap类的讲解,我们知道,QPixmap的父类是QPaintDevice(绘图设备)。今天,我们来详细了解另一个继承绘图设备类的控件QPrinter控件。

48540923dd54564ec6de824cd9f00e84d0584fc4.jpeg?token=57abaffb6cb9d6da28a25d2a74d76908准备好,马上开始了

01QPrinter控件

我们知道,打印图像是图像处理软件中一个常用功能。PhotoShop、mspainter等一些图像图形编辑软件中通过点击打印菜单(按钮),可以将主窗体中的图像进行打印。下图是mspaint的打印窗口

b8014a90f603738d8e94dc07db352257f919ecea.jpeg?token=22d573f96264e878f936ecee03a329e2windows画图板的打印图像功能

打印图像本质上来讲就是在QPaintDevice中画图,我们之前接触过一个QPainter类,其实,对于平常的图像设备类,如QPixmap和QImage等,其实都是创建一个QPainter对象进行绘图的。

a1ec08fa513d26972afbf9e73cd520fd4316d811.jpeg?token=203218ec813acd74a5ef762e0c646bf3使用绘图设备

当我们想要打印窗口图像时,使用的是QPrinter类,它本质上来讲也是一个QPaintDevice(绘图设备)。

我们来看下其继承关系:

>>> from PyQt5.Qt import *

>>> QPainter.__mro__

(, , )

继承关系较为简单。

02如何使用QPainter打印一幅图像

使用QPainter的一般过程通常是

c8177f3e6709c93d97dee747f6136adad1005403.jpeg?token=e713a616caeae5854296dbd87a06a90a一般过程如下

1.创建一个QPrinter对象,设置好图片相关打印属性;

2.通过弹出一个QPrintDialog类的实例化窗口对象,进行图像打印(将上述实例化的QPrinter对象作为参数传入QPrintDialog中)。

下面通过一个例子来演示使用QPainter打印屏幕图像的方法。

f7246b600c338744bc44eedf3c214bffd62aa041.jpeg?token=c5fb02c0f62d11c1a209b68b7478791f源代码

程序实现效果如下

d788d43f8794a4c2de7de1ec67da89d3ac6e394b.jpeg?token=3dd5cf27c73ecfbf90e5dc0650617737效果展示

单击打印菜单后弹出QPrintDialog对话框,然后就可以打印图像了。

6f061d950a7b0208b7e056cf0af760d5572cc8ac.jpeg?token=d8454456cebaf5f5a24c101166328ee0弹出打印窗口

好了,今天的内容就到这里了,喜欢Python编程的小伙伴关注我,后续推出精彩内容

转载请注明出处,百家号:Python高手养成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值