【Python 实战基础】Python 中 PyQt6 的绘制文本

目录

一、实战场景

二、主要知识点

文件读写

基础语法

PyQt6

sys

三、菜鸟实战


一、实战场景

实战场景:Python 中 PyQt6 的绘制文本

二、主要知识点

  • 文件读写

  • 基础语法

  • PyQt6

  • sys

三、菜鸟实战

从绘制一些 Unicode 文本开始。

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


class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):

        self.text = "Лев Николаевич Толстой\nАнна Каренина"

        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('Drawing text')
        self.show()


    def paintEvent(self, event):

        qp = QPainter()
        qp.begin(self)
        self.drawText(event, qp)
        qp.end()


    def drawText(self, event, qp):

        qp.setPen(QColor(168, 34, 3))
        qp.setFont(QFont('Decorative', 10))
        qp.drawText(event.rect(), Qt.Alignment.AlignCenter, self.text)


def main():

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec())


if __name__ == '__main__':
    main()

本例中,绘制了一些西里尔字母,并水平和垂直对齐了文本。

def paintEvent(self, event): ... 

使用 paintEvent 完成绘画。

qp = QPainter()
qp.begin(self)
self.drawText(event, qp)
qp.end()

QPainter 类负责所有的底层绘制。所有的绘制都在开始和结束方法之间。实际的绘制被委托给 drawText 方法。

qp.setPen(QColor(168, 34, 3))
qp.setFont(QFont('Decorative', 10))

这里定义了绘制文本的笔触和字体。

qp.drawText(event.rect(), Qt.Alignment.AlignCenter, self.text) 

drawText 方法在窗口上绘制文本。paintEvent 的rect方法返回需要更新的矩形。用 Qt.Alignment.AlignCenter 在两个维度上对齐文本。

菜鸟实战,持续学习!  

猜你喜欢

转载自blog.csdn.net/qq_39816613/article/details/127124739