前面内容,我们详细介绍了PyQt5中弹出式对话框。
回顾下精彩内容
Python用PyQt5制作颜色对话框,PyQt图形界面编程之QColorDialog
Qt图形界面编程之QFileDialog类,Python用PyQt5制作文件对话框
Qt图形界面编程之QFileDialog类,Python用PyQt5制作文件对话框
如何通过Qt界面设置字体属性,Python中PyQt5的QFontDialog类详解
Python用PyQt5制作弹出式输入框,Qt图形界面编程之QInputDialog
今天,我们来详细了解下PyQt5中的一个绘图类QPainter类。
准备好马上开始
01QPaint类简介
我们知道,在Python自带的tkinter库中,有一个Canvas对象,它是用来在屏幕中绘制一些基本图形及图像的。跟tkinter中Canvas很类似,PyQt5也为我们提供了一个非常好用的绘图类QPainter类。
基本图形绘制
该类可以在QWidget控件上执行绘图操作,我们先来看下其继承顺序。
QPainter继承关系
从功能上来看,QPainter类不仅可以绘制一些基本图形(如直线、矩形、圆等),这些功能类似tkinter中的Canvas对象,但是不同于Canvas的地方在于,该类为大部分图形界面提供了高度优化的函数,使用该类可以用少量的代码绘制一些复杂的图形,比如饼图等一些常用的数据统计图。这些我们后续内容会有所涉及。
02如何使用QPainter绘制图形
QPainter类进行绘制操作时,通常情况下是在QWidget.paintEvent()中完成。这点很类似于tkinter中的事件响应函数,paintEvent()一般会在该函数中传入一个event参数,绘制方法必须放在QtGui.QPainter对象的begin()和end()之间(这种语法有点类似Delphi),但是这是一个较低级别的绘图接口。
相对来说比较低
其常用的绘制方法如下
画笔风格也很多
画笔风格定义如下
这个简单,自己试试看。
03QPainter类绘制图形示例
1.绘制一些随机点
使用QPainter绘制随机点
效果如下
效果图展示
好了,今天的内容就到这里了,其他图形绘制,大家自己试试看,对于QPinter中画笔和笔刷类的使用,我们后续专题进行学习。
喜欢Python编程的小伙伴欢迎关注我,后续推出精彩内容。
转载请注明出处,百家号:Python高手养成