pyqt5新手入门,绘图

PyQt5绘画系统能够呈现矢量图形,图像,和大纲font-based文本。我们也可以在程序中调用系统api自定义绘图控件。

绘图要在paintEvent()方法中实现。在QPainter对象的begin()与end()方法间编写绘图代码。它会在控件或其他图形设备上进行低级的图形绘制。

在我们的示例中,我们绘制一些Cylliric文本。文本垂直和水平对齐。

# -*- coding: utf-8 -*-
# -*- autor: chh -*-
import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QColor, QFont
from PyQt5.QtCore import Qt
 
 
class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
 
    def initUI(self):
        self.text = u'\u041b\u0435\u0432 \u041d\u0438\u043a\u043e\u043b\u0430\
\u0435\u0432\u0438\u0447 \u0422\u043e\u043b\u0441\u0442\u043e\u0439: \n\
\u0410\u043d\u043d\u0430 \u041a\u0430\u0440\u0435\u043d\u0438\u043d\u0430'
 
        self.setGeometry(300, 300, 280, 170)
        self.setWindowTitle('Draw text')
        self.show()
 
    def paintEvent(self, event):
        #  QtGui.QPainter负责所有的低级绘画。所有的绘画方法都在begin()和end()函数之间。
        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))
        # drawText()方法将文本绘制在窗体,显示在中心
        qp.drawText(event.rect(), Qt.AlignCenter, self.text)
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

pyqt5新手入门,绘图_第1张图片

你可能感兴趣的:(pyqt5新手入门,绘图)