• 大小: 7KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Python
  • 标签: pyqt5  

资源简介

在 pycharm 加 pyqt5环境中开发,python实现 中点画圆算法。 有优美的 UI界面。

资源截图

代码片段和文件信息

from PySide2.QtCore import *
class Circle:
    def __init__(self p r):
        self.p = p
        self.r = r
    def points_list_circle(self):
        points = []
        if self.r < 1:
            return points
        e = 1 - self.r
        x = 0
        y = self.r
        ps0 = []
        ps1 = []
        ps2 = []
        ps3 = []
        ps4 = []
        ps5 = []
        ps6 = []
        ps7 = []
        while x < y:
            #print(“x:“+str(x)+“ y:“+str(y))
            ps0.append(QPoint(x y))
            ps1.append(QPoint(y x))
            ps2.append(QPoint(-y x))
            ps3.append(QPoint(-x y))
            ps4.append(QPoint(y -x))
            ps5.append(QPoint(x -y))
            ps6.append(QPoint(-x -y))
            ps7.append(QPoint(-y -x))
            if e <= 0:
                e = e + 2*x + 3
            else:
                e = e + 2*x - 2*y + 5
                y -= 1
            x += 1


        for p1 in ps0:
            p1.setX(p1.x()+self.p.x())
            p1.setY(p1.y()+self.p.y())
            points.append(p1)
        for p1 in ps1:
            p1.setX(p1.x() + self.p.x())
            p1.setY(p1.y() + self.p.y())
            points.append(p1)
        for p1 in ps2:
            p1.setX(p1.x() + self.p.x())
            p1.setY(p1.y() + self.p.y())
            points.append(p1)
        for p1 in ps3:
            p1.setX(p1.x() + self.p.x())
            p1.setY(p1.y() + self.p.y())
            points.append(p1)
        for p1 in ps4:
            p1.setX(p1.x() + self.p.x())
            p1.setY(p1.y() + self.p.y())
            points.append(p1)
        for p1 in ps5:
            p1.setX(p1.x() + self.p.x())
            p1.setY(p1.y() + self.p.y())
            points.append(p1)
        for p1 in ps6:
            p1.setX(p1.x() + self.p.x())
            p1.setY(p1.y() + self.p.y())
            points.append(p1)
        for p1 in ps7:
            p1.setX(p1.x() + self.p.x())
            p1.setY(p1.y() + self.p.y())
            points.append(p1)

        return points

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-10-07 19:57  circle\
     目录           0  2019-10-07 19:58  circle\__pycache__\
     文件        1739  2019-10-07 19:58  circle\__pycache__\circle.cpython-36.pyc
     文件        3859  2019-10-07 19:58  circle\__pycache__\mainfirm.cpython-36.pyc
     文件        1818  2019-10-07 19:56  circle\__pycache__\paint.cpython-36.pyc
     文件        2029  2019-10-07 19:57  circle\circle.py
     文件         302  2019-10-07 19:01  circle\main.py
     文件        6186  2019-10-07 19:57  circle\mainfirm.py
     文件        1807  2019-10-07 19:56  circle\paint.py

评论

共有 条评论