在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_())
天子驕龍