在PyQt5中,一般可以通过Qpainter,QPen,QBrush这三个类来实现绘图功能,此外,QPixmap的作用是加载并呈现本地图像,而图像的本质上也是通过绘图方式实现的,所以QPixmap也可以被视为绘图的一个类
Qpainter类在QWidget(控件)上执性绘图操作,它是一个绘制工具,为大部分图形化界面提供了高度优化的函数,使QPainter类可以绘制从简单的直线到复杂的饼图等
绘制操作在QWidget.paintEvent()中完成,绘制方法必须放在QtGui.QPainter对象的begin()和end()之间。QPainter类在控件或其他绘图设备上执行较低级别的图像绘制功能,并通过如表的方法进行绘制

绘制字体--方式一:

import sys
from PyQt5.QtGui import QPainter, QFont,QPen
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import Qt class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.resize(600, 600)
self.pen1 = QPen() #创建画笔 def paintEvent(self, QPaintEvent): #绘制事件
painter = QPainter(self) #创建画家
painter.setFont(QFont('Times New Roman', 30)) #给画家设置字体、大小
self.pen1.setColor(Qt.red) #设置画笔颜色--文字颜色
painter.setPen(self.pen1) #给画家设置画笔
#painter.setPen(Qt.red) #设置画家的画笔颜色
painter.drawText(100, 100, 'Hello PyQt5!') #绘制字体
#参数1 参数2 坐标 参数3 文字内容 if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())

绘制字体--方式二:

import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPainter, QColor, QFont class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI() def initUI(self):
self.setGeometry(300, 300, 280, 170)
self.setWindowTitle("绘画字体") def paintEvent(self, event): qp = QPainter() #创建画家
qp.begin(self) #画家开始绘画
#参数 【个人:把self做画布】
qp.setPen(QColor(168, 34, 3))#设置画家的画笔颜色
qp.setFont(QFont("黑体", 30))#设置画家的字体
#qp.drawText(event.rect(), Qt.AlignCenter, '塘沽五中') #绘制字体
#event.rect()得到当前窗体的可绘图区域

qp.drawText(100,100, '塘沽五中') #绘制字体

qp.end()#绘画结束 if __name__ == "__main__":
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())

天子骄龙

绘图QPainter-字体的更多相关文章

  1. R绘图字体解决方案(转)

    COS论坛里面经常会遇到的一个问题就是绘图时中文字体怎么解决.最初,一个流行的方法是使用family = "GB1",但一般这样做出来的图比较难看,而且并没有完全解决问题.后来发现 ...

  2. 2048游戏_QT实现

    #ifndef GAMEWIDGET_H #define GAMEWIDGET_H #include <QWidget> #include <QMouseEvent> #inc ...

  3. 每日一笔记之2:QT之坐标系统:

    以前一直多单片机开发,也没怎么使用过大的显示器,第一次学习,备忘: QT画图系统. 绘图,通过QPainter类实现. Qt的绘图系统对底层函数进行了良好的封装,使得在屏幕和设备的绘图功能可能使用相同 ...

  4. 【转帖】C# DllImport 系统调用使用详解 托管代码的介绍 EntryPoint的使用

    1      DLLImport的使用 using System; using System.Runtime.InteropServices; //命名空间 class Example { //用Dl ...

  5. 纯js实现html转pdf

    项目开发中遇到了一个变态需求,需要把一整个页面导出为pdf格式,而且要保留页面上的所有的表格.svg图片和样式.简而言之,就是希望像截图一样,把整个页面截下来,然后保存成pdf.咋不上天呢--查了一下 ...

  6. QT 实现在QLabel上画图

    QT之所以不能再任意控件上绘图是因为QT的事件过滤器把控件的绘图事件给过滤了. 在paintevent()函数中,通常需要设置QPainter对象,创建QPainter对象的同时需要指定绘图设备,即继 ...

  7. Linux Graphic DRI Wayland 显示子系统

    转:https://blog.csdn.net/u013165704/article/details/80709547 1. 前言 上篇文章(Linux graphic subsytem(1)_概述) ...

  8. 使用JFreeChart生成报表

    1.JFreeChart简介    JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications,servlets以及JSP等使用所设计.  ...

  9. Java报表之JFreeChart

    一.JFreeChart简介 JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications,servlets以及JSP等使用所设计. JFre ...

  10. JS导出页面为PDF文件,该如何操作?来看一眼就明白啦!

    1.资源文件或依赖 <script type="text/javascript" src="./js/canvg2.js"></script& ...

随机推荐

  1. flask+mako+peewee(下)(解决了Error 2006: MySQL server has gone away)

    这篇主要介绍在这次项目中使用的peewee 文档地址:http://peewee.readthedocs.org/en/latest/index.html 首先我们要初始化一个数据库连接对象.这里我使 ...

  2. 用Delphi制作动态菜单 该文章《用Delphi制作动态菜单》

    ---恢复内容开始--- 1.首先,确定动态菜单的数据来源,即要确定动态菜单标题是来自Windows的系统注册表,还是来自一个数据库,或者是来自一个子目录,主要由程序的功能而定.这里假设主窗口名为Ma ...

  3. 科普一下bl锁的知识,没解锁的必看!

    今天给大家科普一下. 科普分为两版,一个详细版一个简单版.简单版往下翻. bl是什么?其实详细的我也不知道,我就知道原理和他的全称是bootloader.我们所说的解锁里面的“锁”,就是blbl锁的功 ...

  4. Intel处理器缺货将会持续到2019年第二季度!

    虽然Intel一再承诺加大投资.扩充产能,但一个不争的事实是,Intel处理器仍然都处于大面积紧张的缺货状态中,毕竟10nm迟迟无法规模量产,14nm上拥挤了太多产品线. 按照华硕CEO沈振来的最新说 ...

  5. QAU 17校赛 J题 剪丝带(完全背包变形)

    题意: 剪一段丝带,对于剪完后的每一段丝带长度必须是a,b,c 输入丝带的长度  n 和  a  b  c 输出一个整数,代表最多能剪成多少段 样例输入 5 5 3 2 7 5 5 2 样例输出 2 ...

  6. POI获取单元格的宽和高

    获取单元格的宽,即获取所在列的宽.先获取单元格所在的sheet:cell.getSheet() sheet.getColumnWidth( cell.getColumnIndex() )  单位不是像 ...

  7. day9 集合操作

    去重 s = set(python_1) # 用set会变成集合,集合自带去重能力 print(s) python_1 = list(s) # 在用list还原成列表.但是会打乱顺序 print(py ...

  8. 09 Zabbix Item类型之Zabbix SNMP类型

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 Zabbix Item类型之Zabbix SNMP类型 SNMP是监控服务器以外设备的非常好的方式 ...

  9. 使用uwsgi部署Django应用

    一.打包Django应用 1.创建setup.py文件 from setuptools import setup import glob setup(name='blog', version='1.0 ...

  10. SpaceVim的基本安装和常见问题

    SpaceVim官网:https://spacevim.org/ SpaceVim中文官网:http://spacevim.org/cn/ SpaceVim的Github页面:https://gith ...