前面内容,我们介绍了PyQt5中常用的一些控件
下面内容可以参考下
为界面添加功能丰富的工具箱,Python中PyQt5之QToolBar类的使用
Python用PyQt5设计界面之菜单制作,QMenuBar详解
Python用PyQt5创建时间日期控件,Qt图形界面编程之QDateTimeEdit
“五一”快到了,用Python中PyQt5做一个日历,QCalendar控件详解
Python用PyQt5设计界面,如何正确显示一幅图片,QPixmap控件详解
其中,也涉及了一个QPixmap类的讲解,我们知道,QPixmap的父类是QPaintDevice(绘图设备)。今天,我们来详细了解另一个继承绘图设备类的控件QPrinter控件。
准备好,马上开始了
01QPrinter控件
我们知道,打印图像是图像处理软件中一个常用功能。PhotoShop、mspainter等一些图像图形编辑软件中通过点击打印菜单(按钮),可以将主窗体中的图像进行打印。下图是mspaint的打印窗口
windows画图板的打印图像功能
打印图像本质上来讲就是在QPaintDevice中画图,我们之前接触过一个QPainter类,其实,对于平常的图像设备类,如QPixmap和QImage等,其实都是创建一个QPainter对象进行绘图的。
使用绘图设备
当我们想要打印窗口图像时,使用的是QPrinter类,它本质上来讲也是一个QPaintDevice(绘图设备)。
我们来看下其继承关系:
>>> from PyQt5.Qt import *
>>> QPainter.__mro__
(, , )
继承关系较为简单。
02如何使用QPainter打印一幅图像
使用QPainter的一般过程通常是
一般过程如下
1.创建一个QPrinter对象,设置好图片相关打印属性;
2.通过弹出一个QPrintDialog类的实例化窗口对象,进行图像打印(将上述实例化的QPrinter对象作为参数传入QPrintDialog中)。
下面通过一个例子来演示使用QPainter打印屏幕图像的方法。
源代码
程序实现效果如下
效果展示
单击打印菜单后弹出QPrintDialog对话框,然后就可以打印图像了。
弹出打印窗口
好了,今天的内容就到这里了,喜欢Python编程的小伙伴关注我,后续推出精彩内容
转载请注明出处,百家号:Python高手养成