forked from micromouseonline/pyTurnProfile
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbackground.py
More file actions
66 lines (58 loc) · 2.24 KB
/
background.py
File metadata and controls
66 lines (58 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from PyQt5.QtCore import QRectF, Qt
from PyQt5.QtGui import QPen, QColor
from PyQt5.QtWidgets import QGraphicsItem
class Background(QGraphicsItem):
def __init__(self):
super().__init__()
def boundingRect(self):
return QRectF(-120, -120, 420, 420)
def paint(self, painter, option, widget):
painter.fillRect(self.boundingRect(),Qt.black)
wallPen = QPen(QColor(255, 0, 0, 90))
postPen = QPen(QColor(255, 0, 0, 180))
linePen = QPen(QColor(255, 0, 0, 90))
originPen = QPen(QColor(255, 200, 0, 90))
wallPen.setWidthF(12.0)
wallPen.setJoinStyle(Qt.MiterJoin)
wallPen.setStyle(Qt.SolidLine)
postPen.setWidthF(12.0)
postPen.setJoinStyle(Qt.MiterJoin)
postPen.setStyle(Qt.SolidLine)
linePen.setWidthF(2.0)
linePen.setStyle(Qt.DotLine)
originPen.setWidthF(2.0)
originPen.setStyle(Qt.DotLine)
painter.setPen(wallPen)
painter.drawLine(-90, -90, -90, 270)
painter.drawLine(-90, -90, 90, -90)
painter.drawLine(-90, 270, 270, 270)
# posts
painter.setPen(postPen)
painter.drawLine(270, 90, 270, 91)
painter.drawLine(270, -90, 270, -91)
painter.drawLine(90, 90, 90, 91)
painter.drawLine(90, -90, 90, -91)
painter.setPen(linePen)
for i in range(5):
painter.drawLine(-90 + 90 * i, -90, -90 + 90 * i, 270)
painter.drawLine(-90, -90 + 90 * i, 270, -90 + 90 * i)
# all the diagonals
painter.drawLine(-90, 180, 0, 270)
painter.drawLine(-90, 90, 90, 270)
painter.drawLine(-90, 0, 180, 270)
painter.drawLine(-90, -90, 270, 270)
painter.drawLine(0, -90, 270, 180)
painter.drawLine(90, -90, 270, 90)
painter.drawLine(180, -90, 270, 0)
painter.drawLine(0, -90, -90, 0)
painter.drawLine(90, -90, -90, 90)
painter.drawLine(180, -90, -90, 180)
painter.drawLine(270, -90, -90, 270)
painter.drawLine(270, 0, 0, 270)
painter.drawLine(270, 90, 90, 270)
painter.drawLine(270, 180, 180, 270)
# origin
painter.setPen(originPen)
painter.drawLine(-90, 0, 270, 0)
painter.drawLine(0, -90, 0, 270)
pass