繪圖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_())

 

 

 

天子驕龍 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM