PySide学习笔记第十二章-绘制

本文是PySide学习笔记的第十二章,主要讲解如何利用PySide的QtGui.QPainter进行图形绘制。内容包括在paintEvent()函数中进行绘制,以及如何绘制文本、线条和使用不同类型的画刷来画出矩形块,展示了从预定义到梯度、纹理型画刷的多样应用。
摘要由CSDN通过智能技术生成

当我们想改变或者优化一些空间的现实效果时,我们可以调用PySide的工具箱的API接口来实现

绘制操作包含在paintEvent()函数中,绘制的代码包含在QtGui.QPainter 对象的begin()以及end()函数中间

1、绘制文本 Drawing text --将Unicode文本显示在窗口客户端区域


# -*- coding: utf-8 -*-

"""
ZetCode PySide tutorial

In this example, we draw text in Russian azbuka.

author: Jan Bodnar
website: zetcode.com
last edited: August 2011
"""

import sys
from PySide import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__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):

        qp = QtGui.QPainter()
        qp.begin(self)
        self.drawText(event, qp) # 绘制函数定义在beginend函数之间
        qp.end()

    def drawText(self, event, qp):

        qp.setPen(QtGui.QColor(168, 34, 3)) # 设置画笔和字体,然后绘制文本
        qp.setFont(QtGui.QFont('Decorative', 10))
        qp.drawText(event.rect(), QtCore.Qt.AlignCenter, self.text
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值