PyQt5-在窗口上绘制文本 QPainter

  • Post author:
  • Post category:其他

PyQt5-在窗口上绘制文本 QPainter

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/6/3 19:46
# @Author : kevin
# @Site : 
# @File : 在窗口上绘制文本.py
# @Software: PyCharm
"""
绘制API:绘制文本

1、文本
2、各种图形(直线、点、椭圆、弧、扇形、多边形)
3、图像

QPainter 类
painter = QPainter() 类实例
painter.begin()  绘图初始化
painter.drawText(...)  绘制一行文本
painter.end()  绘图结束


必须在paintEvent事件方法中绘制各种元素

"""
import sys
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5.QtGui import QPainter,QColor,QFont
from PyQt5.QtCore import Qt

class DrawText(QWidget):
    def __init__(self):
        super(DrawText, self).__init__()
        self.setWindowTitle('在窗口上绘制文本')  # 设置主窗口标题
        self.resize(300, 200)  # 设置主窗口尺寸

        self.text = 'Hello Python'

    def paintEvent(self, event):
        painter = QPainter(self)
        painter.begin(self)  # 绘图初始化
        painter.setPen(QColor(220, 0, 120))  # 画笔,并设置笔的颜色
        painter.setFont(QFont('SimSun', 25))  # 设置字体,字号

        painter.drawText(event.rect(), Qt.AlignCenter, self.text)  # 在event窗口绘制,设置剧中,显示文本
        painter.end()  # 绘图结束

if __name__ == '__main__':
    app = QApplication(sys.argv)
    main = DrawText()
    main.show()
    sys.exit(app.exec_())

版权声明:本文为hyd_csdn原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。