绘图QPainter-字体
在PyQt5中,一般可以通过Qpainter,QPen,QBrush这三个类来实现绘图功能,此外,QPixmap的作用是加载并呈现本地图像,而图像的本质上也是通过绘图方式实现的,所以QPixmap也可以被视为绘图的一个类
Qpainter类在QWidget(控件)上执性绘图操作,它是一个绘制工具,为大部分图形化界面提供了高度优化的函数,使QPainter类可以绘制从简单的直线到复杂的饼图等
绘制操作在QWidget.paintEvent()中完成,绘制方法必须放在QtGui.QPainter对象的begin()和end()之间。QPainter类在控件或其他绘图设备上执行较低级别的图像绘制功能,并通过如表的方法进行绘制
绘制字体--方式一:
import sys from PyQt5.QtGui import QPainter, QFont,QPen from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtCore import Qt class Demo(QWidget): def __init__(self): super(Demo, self).__init__() self.resize(600, 600) self.pen1 = QPen() #创建画笔 def paintEvent(self, QPaintEvent): #绘制事件 painter = QPainter(self) #创建画家 painter.setFont(QFont('Times New Roman', 30)) #给画家设置字体、大小 self.pen1.setColor(Qt.red) #设置画笔颜色--文字颜色 painter.setPen(self.pen1) #给画家设置画笔 #painter.setPen(Qt.red) #设置画家的画笔颜色 painter.drawText(100, 100, 'Hello PyQt5!') #绘制字体 #参数1 参数2 坐标 参数3 文字内容 if __name__ == '__main__': app = QApplication(sys.argv) demo = Demo() demo.show() sys.exit(app.exec_())
绘制字体--方式二:
import sys from PyQt5.QtWidgets import QWidget, QApplication from PyQt5.QtGui import QPainter, QColor, QFont class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 280, 170) self.setWindowTitle("绘画字体") def paintEvent(self, event): qp = QPainter() #创建画家 qp.begin(self) #画家开始绘画 #参数 【个人:把self做画布】 qp.setPen(QColor(168, 34, 3))#设置画家的画笔颜色 qp.setFont(QFont("黑体", 30))#设置画家的字体 #qp.drawText(event.rect(), Qt.AlignCenter, '塘沽五中') #绘制字体 #event.rect()得到当前窗体的可绘图区域 qp.drawText(100,100, '塘沽五中') #绘制字体 qp.end()#绘画结束 if __name__ == "__main__": app = QApplication(sys.argv) ex = Example() ex.show() sys.exit(app.exec_())
天子骄龙