当我们想改变或者优化一些空间的现实效果时,我们可以调用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) # 绘制函数定义在begin和end函数之间 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