【Python戦闘の基本】PyQt6 Pythonでテキストを描画する

目次

1.実際の戦闘シーン

2. 主な知識

ファイルの読み書き

基本文法

PyQt6

システム

三、新人戦


1.実際の戦闘シーン

実際のシナリオ: Python で PyQt6 にテキストを描画する

2. 主な知識

  • ファイルの読み書き

  • 基本文法

  • PyQt6

  • システム

三、新人戦

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 このクラスは、下にあるすべての描画を担当します。すべての描画は start メソッドと end メソッドの間にあります。実際の描画は 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 テキストを 2 次元で整列するために使用 します。

ルーキーコンバット、学び続けろ!  

おすすめ

転載: blog.csdn.net/qq_39816613/article/details/127124739