当前位置: 首页 > news >正文

霸州做网站做像美团淘宝平台网站多少钱

霸州做网站,做像美团淘宝平台网站多少钱,旅游网站建设的目标是什么,德州seo排名PyQt5提供了绘制图形的API#xff0c;支持绘制#xff1a;文本各种图形#xff08;直线#xff0c;点#xff0c;椭圆#xff0c;弧#xff0c;扇形#xff0c;多边形等#xff09;图像绘制图形需要一个类QPainter。基本的绘制过程#xff1a;# 创建QPainter对象 pai…PyQt5提供了绘制图形的API支持绘制文本各种图形直线点椭圆弧扇形多边形等图像绘制图形需要一个类QPainter。基本的绘制过程# 创建QPainter对象 painter QPainter() ​ # painter初始化 painter.begin() ​ # 绘制文本 painter.drawText(...) ​ # 结束绘制 painter.end()还有需要注意的是绘制的场所必须是在painterEvent方法中。而这个painterEvent事件的方法会在主窗口刚刚生成时调用生成绘制的图形、调整主窗口大小时调用随着主窗口的大小比例调整绘制图像的大小比例和关闭主窗口时调用销毁绘制的图形在窗口上绘制文本import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * ​ class DrawText(QWidget):def __init__(self):super(DrawText, self).__init__()self.setWindowTitle(在窗口上绘制文本)self.resize(300, 200)self.text Hello world ​def paintEvent(self, event):painter QPainter(self)painter.begin(self)# 加一个输出观察什么情况下print(Done)# 设置画笔颜色painter.setPen(QColor(150, 43, 5))# 设置字体painter.setFont(QFont(SimSun, 25))# 指定绘图区域对齐方式和绘制内容painter.drawText(event.rect(), Qt.AlignCenter, self.text)painter.end() ​ if __name__ __main__:app QApplication(sys.argv)main DrawText()main.show()sys.exit(app.exec_())运行结果窗口刚刚弹出时移动窗口时放大放小窗口时关闭窗口时。控制台上都打印了“Done”说明在这几类情况下主事件调用了paintEvent()方法需要注意的是paintEvent()是内置的事件方法我们只是重载了故初始化中没有调用paintEvent()但是实际上主循环内部自动地调用了它。所以这个方法的名字不是我们任意起的而是固定的如果不是paintEvent()而是其他什么的程序就无法正常显示绘制的内容。还有需要注意的是使用painter.begin()初始化时为了体现是固定在主窗口上创建的必须要填入参数self。对于其中的painter.drawText()方法需要说明其中的第一个参数 painter.drawText(event.rect(), Qt.AlignCenter, self.text)第一个参数是指定的绘图区域此处的event.rect()指的是主事件的矩形区域也就是整个主窗口除此之外可以通过指定x和y来指定绘图区域后面会讲解。用像素点绘制正弦曲线PyQt5中的drawPoint可以绘制一个像素点参数是x与y。import sys,math from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * ​ class DrawPoints(QWidget):def __init__(self):super(DrawPoints, self).__init__()self.setWindowTitle(用像素点绘制正弦曲线)self.resize(300, 300) ​def paintEvent(self, event):painter QPainter()painter.begin(self) ​painter.setPen(Qt.blue)size self.size() ​for i in range(1000):x 100 * (-1 2 * i / 1000) size.width() / 2y -50 * math.sin((x - size.width() / 2) * math.pi / 50) size.height() / 2painter.drawPoint(int(x), int(y))painter.end() ​ if __name__ __main__:app QApplication(sys.argv)main DrawPoints()main.show()sys.exit(app.exec_())运行效果绘制不同类型的直线import sys,math from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * ​ class DrawMultiLine(QWidget):def __init__(self):super(DrawMultiLine, self).__init__()self.setWindowTitle(绘制不同类型的直线)self.resize(300, 300) ​def paintEvent(self, event):painter QPainter()painter.begin(self) ​# 颜色 粗细 线条类型默认为Qt.SolidLine即实线pen QPen(Qt.red, 3, Qt.SolidLine)painter.setPen(pen)painter.drawLine(20, 40, 250, 40) ​# 点线pen.setStyle(Qt.DashDotLine)painter.setPen(pen)painter.drawLine(20 ,80, 250, 80) ​# 点点线pen.setStyle(Qt.DashDotDotLine)painter.setPen(pen)painter.drawLine(20, 120, 250 ,120) ​# 自定义点线风格pen.setStyle(Qt.CustomDashLine)pen.setDashPattern([1, 10, 5, 8])painter.setPen(pen)painter.drawLine(20, 200, 250, 200) ​painter.end() ​ ​ if __name__ __main__:app QApplication(sys.argv)main DrawMultiLine()main.show()sys.exit(app.exec_())运行结果drawLine(a, b, c, d)从坐标为(a,b)的点绘制到(c,d)的点的线段。窗口坐标系(a,b)代表离窗口左侧为a个像素点离窗口最上侧为b个像素点。绘制各种图形绘制弧import sys,math from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * ​ class DrawAll(QWidget):def __init__(self):super(DrawAll, self).__init__()self.setWindowTitle(绘制各种图形)self.resize(300, 300) ​def paintEvent(self, event):qp QPainter()qp.begin(self) ​qp.setPen(Qt.blue) ​# 绘制弧# 先选定绘制区域绘制区域为矩形QRect# 左上角坐标为(0, 10), 长为100 宽为100rect QRect(0, 10, 100, 100)# 弧为圆的一部分角度的单位是alen:1个alen等于1/16度# 下面在rect代表的区域中绘制起始角度为0终止角度为50度(50 * 16 alen)qp.drawArc(rect, 0, 50 * 16) ​qp.end() ​ ​ if __name__ __main__:app QApplication(sys.argv)main DrawAll()main.show()sys.exit(app.exec_())运行结果绘制圆# 通过弧绘制圆 qp.setPen(Qt.red) qp.drawArc(120, 10, 100, 100, 0, 360 * 16)运行结果可以看到除了使用QRect对象指定绘图区域我们还可以直接初始化QRect的四个参数直接填入drawArc函数中作为前四个参数起始位置为0终止为止为360度的弧就是圆。绘制带弦的弧# 绘制带弦的弧 qp.drawChord(10, 120, 100, 100, 12, 130 * 16)运行结果绘制扇形# 绘制扇形 qp.drawPie(10, 240, 100, 100, 12, 130 * 16) 运行结果绘制椭圆# 绘制椭圆 qp.drawEllipse(120, 120, 150, 100)运行结果绘制椭圆只需要指定绘图区域绘制出的椭圆就是指定的矩形区域的内接椭圆。所以我们可以通过指定正方形区域来绘制圆。绘制5边形 # 绘制5边形 point1 QPoint(140, 380) point2 QPoint(270, 420) point3 QPoint(290, 512) point4 QPoint(290, 588) point5 QPoint(200, 533) ​ polygon QPolygon([point1, point2, point3, point4, point5]) qp.drawPolygon(polygon)运行结果多边形的绘制机制也蛮显然的通过创建多个QPoint对象指定多边形的每个顶点的坐标再用这几个代表像素点的QPoint对象去初始化一个QPolygon对象这个QPolygon对象作为drawPolygon的参数完成绘制。绘制图像# 绘制图像 image QImage(./image/pic2.png) rect QRect(300, 200, 300, 230) qp.drawImage(rect, image)运行结果用画刷填充图形区域import sys,math from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * ​ class FillRect(QWidget):def __init__(self):super(FillRect, self).__init__()self.setWindowTitle(用画刷填充图形区域)self.resize(360, 300) ​def paintEvent(self, event):qp QPainter()qp.begin(self) ​# 实心画刷brush QBrush(Qt.SolidPattern)qp.setBrush(brush)qp.drawRect(10, 15, 90, 60) ​# 点阵画刷类型1brush QBrush(Qt.Dense1Pattern)qp.setBrush(brush)qp.drawRect(130, 15, 90, 60) ​# 点阵画刷类型2brush QBrush(Qt.Dense2Pattern)qp.setBrush(brush)qp.drawRect(250, 15, 90, 60) ​# 点阵画刷类型3brush QBrush(Qt.Dense3Pattern)qp.setBrush(brush)qp.drawRect(10, 105, 90, 60) ​# 点阵画刷类型4brush QBrush(Qt.Dense4Pattern)qp.setBrush(brush)qp.drawRect(130, 105, 90, 60) ​# 点阵画刷类型5brush QBrush(Qt.Dense5Pattern)qp.setBrush(brush)qp.drawRect(250, 105, 90, 60) ​# 点阵画刷类型6brush QBrush(Qt.Dense6Pattern)qp.setBrush(brush)qp.drawRect(10, 195, 90, 60) ​# 点阵画刷类型7brush QBrush(Qt.Dense7Pattern)qp.setBrush(brush)qp.drawRect(130, 195, 90, 60) ​# 横格画刷brush QBrush(Qt.HorPattern)qp.setBrush(brush)qp.drawRect(250, 195, 90, 60) ​qp.end() ​ ​ if __name__ __main__:app QApplication(sys.argv)main FillRect()main.show()sys.exit(app.exec_())运行结果每创建一个画刷对象都需要调用QPainter对象的setBrush()方法设置画刷。
http://wiki.neutronadmin.com/news/44569/

相关文章:

  • 深圳市网站建设外包公司排名o2o网站线上
  • 三站合一 网站建设wordpress 手机端异常
  • 网站dns解析医疗企业vi设计公司
  • 网站主题网wordpress查询次数
  • 做政务网站电子商务就是网络营销
  • 晋中建设集团网站手机制作网站免费
  • 容易导致网站作弊的几个嫌疑wordpress 访问密码
  • 开发app的网站有哪些seo专业培训学费多少钱
  • 网页游戏网站快手河北邢台特色美食
  • 源码之家免费济南网络优化推广
  • 外贸接单网站如何修改网站
  • 那些网站能够做推广wordpress收录主题
  • 羽贝网站建设网站开发使用软件有哪些
  • 怎样建设自己的视频网站首页vue做的网站域名汇总
  • 保定哪家做网站公司好工地建筑劳务公司招工平台
  • 导航类网站模板网站的专题怎么做
  • 大连网站开发 简维科技网站线框
  • 如何做网站推广精宝塔有WordPress
  • 找网站做外链是什么意思品牌网站建设只询大蝌蚪
  • 网站建设推广浩森宇特室内设计培训课程
  • 建设银行的登录网站石家庄网站建设外包公司排名
  • 宁夏电力建设工程公司门户网站福田网站建设标准数据
  • 海淀做网站哪家公司好58上怎么做装修网站
  • 宁波网站推广公司报价项目代理
  • 模板下载网站源码 模板下载网站织梦模板徐州网站制作方案
  • 网站域名解析页面网站怎么创建自己的网站
  • 网站建设使用的什么软件有哪些小熊猫seo博客
  • 网站跳出率的衡量标准网站下载视频方法
  • 南昌网站建设的流程山西省诚信建设网站
  • 企业网站 源码 开源四川建设网有限责 任公司网站