当前位置:   article > 正文

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

pyqt 绘制文字

目录

一、实战场景

二、主要知识点

文件读写

基础语法

PyQt6

sys

三、菜鸟实战


一、实战场景

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

二、主要知识点

三、菜鸟实战

从绘制一些 Unicode 文本开始。

  1. import sys
  2. from PyQt6.QtWidgets import QWidget, QApplication
  3. from PyQt6.QtGui import QPainter, QColor, QFont
  4. from PyQt6.QtCore import Qt
  5. class Example(QWidget):
  6. def __init__(self):
  7. super().__init__()
  8. self.initUI()
  9. def initUI(self):
  10. self.text = "Лев Николаевич Толстой\nАнна Каренина"
  11. self.setGeometry(300, 300, 350, 300)
  12. self.setWindowTitle('Drawing text')
  13. self.show()
  14. def paintEvent(self, event):
  15. qp = QPainter()
  16. qp.begin(self)
  17. self.drawText(event, qp)
  18. qp.end()
  19. def drawText(self, event, qp):
  20. qp.setPen(QColor(168, 34, 3))
  21. qp.setFont(QFont('Decorative', 10))
  22. qp.drawText(event.rect(), Qt.Alignment.AlignCenter, self.text)
  23. def main():
  24. app = QApplication(sys.argv)
  25. ex = Example()
  26. sys.exit(app.exec())
  27. if __name__ == '__main__':
  28. main()

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

def paintEvent(self, event): ... 

使用 paintEvent 完成绘画。

  1. qp = QPainter()
  2. qp.begin(self)
  3. self.drawText(event, qp)
  4. qp.end()

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

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

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

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

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

菜鸟实战,持续学习!  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/376296
推荐阅读
相关标签
  

闽ICP备14008679号