PyQt5绘图基础
概述
笔者在陆文周老师主编的《Qt5开发及实例》中看到了一个基础绘图实例,涵盖了Qt5的基本绘图方法,感觉对Qt绘图入门非常有帮助,故用PyQt5重写了一遍,记录在此。
成品图
老规矩,先上成品图。
由于博客支持的GIF最大不超过5M,而完整演示所有操作生成的GIF远大于允许的size,因此GIF仅简单演示基本操作,笔者再贴几张截图作为补充。
可以看到,该项目涵盖了PyQt5的基本绘图方法,包括形状的绘制,画笔的设置,填充方案的选择等。开发者可以根据这些基本绘图方法绘制出更为复杂的图像。
项目关键代码
ComboBox添加下拉选项并绑定槽函数
在此不再赘述控件的布局方法,仅给出ComboBox 控件的设置。在此以形状和画笔颜色设置为例:
# 设置形状ComboBox
self.shapeLabel = QtWidgets.QLabel("形状: ") # label的初始化
self.shapeComboBox = QtWidgets.QComboBox() # ComboBox的初始化
self.shapeComboBox.addItem("Line", 0) # ComboBox添加项目
self.shapeComboBox.addItem("Rectangle", 1)
self.shapeComboBox.addItem("RoundedRect", 2)
self.shapeComboBox.addItem("Ellipse", 3)
self.shapeComboBox.addItem("Polygon", 4)
self.shapeComboBox.addItem("Polyline", 5)
self.shapeComboBox.addItem("Points", 6)
self.shapeComboBox.addItem("Arc", 7)
self.shapeComboBox.addItem("Path", 8)
self.shapeComboBox.addItem("Text", 9)
self.shapeComboBox.addItem("Pixmap", 10)
self.shapeComboBox.activated[int].connect(self.showShape) # 绑定槽函数self.showShape()。当下拉选项被激发,则发送类型为int型的信号。
# 以画笔颜色为例
self.penColorLabel = QtWidgets.QLabel("画笔颜色:") # 画笔颜色label
self.penColorFrame = QtWidgets.QFrame() # label左侧显示画笔当前颜色的矩形,是个QFrame()
self.penColorFrame.setFrameStyle