PyQt5之QPainter画图面板类学习

本文介绍如何使用QPainter在PyQt5应用程序中绘制文本。通过一个具体的例子展示了如何设置字体和颜色,并在窗口中央对齐显示Unicode文本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QPainter

QPainter对小部件和其他绘图设备执行低级绘制。它可以绘制从简单线条到复杂形状的所有内容。

PaintEvent事件方法

该绘画在paintEvent()方法中完成。绘制代码放在QPainter对象的begin()和end()方法之间。它在小部件和其他绘图设备上执行低级绘制。

绘图文字

我们首先在窗口的客户区域上绘制一些Unicode文本。

import sys
from PyQt5.Qt 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 = "列夫托尔斯泰"
        self.setGeometry(300, 300, 280, 170)
        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(0,0,255))
        qp.setFont(QFont('Decorative', 10))
        qp.drawText(event.rect(), Qt.AlignCenter, self.text)        
                   
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

程序运行效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值