/
FactoryView.py
118 lines (79 loc) · 2.56 KB
/
FactoryView.py
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
from PyQt5.QtWidgets import (QWidget, QLabel, QLineEdit,
QTextEdit, QGridLayout, QApplication, QPushButton,
QHBoxLayout, QVBoxLayout, QFrame)
from PyQt5.QtGui import QIcon, QFont, QPainter, QColor, QPen
from PyQt5.QtCore import Qt, QRect
class FactorySquare():
width = 20
height = 20
def __init__(self):
pass
class FactoryGrid(QWidget):
def __init__(self,parent):
super().__init__(parent)
self.factory_size = (10,10)
self.initUI()
def initUI(self):
self.width_height_grid_measure()
def width_height_grid_measure(self):
size = self.size()
w = size.width()
h = size.height()
self.width_fit = int(w/FactorySquare.width)
self.height_fit = int(h/FactorySquare.width)
#print(str(self.width_fit) + " " + str(self.height_fit))
def paintEvent(self, e):
qp = QPainter()
qp.begin(self)
self.drawWidget(qp)
qp.end()
super().paintEvent(e)
def drawWidget(self, qp):
size = self.size()
w = size.width()
h = size.height()
pen = QPen(Qt.black, 2, Qt.SolidLine)
qp.setPen(pen)
qp.drawLine(0, 0, w, 0)
qp.drawLine(0, 0, 0, h)
for i in range(0,self.height_fit+1):
line_height = i*FactorySquare.height
qp.drawLine(0, line_height, w, line_height)
pass
for i in range(0,self.width_fit+1):
line_height = i*FactorySquare.width
qp.drawLine(line_height, 0, line_height, h)
pass
def resize(self, *args):
print("Resizing")
super().resize(*args)
self.width_height_grid_measure()
class FactoryView(QFrame):
def __init__(self,parent):
super().__init__(parent)
self.grid = FactoryGrid(self)
# self.addWidget(self.grid)
self.initUI()
def initUI(self):
self.setMinimumSize(30, 30)
def paintEvent(self, e):
qp = QPainter()
qp.begin(self)
self.drawWidget(qp)
qp.end()
super().paintEvent(e)
def resizeEvent(self, event):
super().resizeEvent(event)
self.grid.resize(event.size().width(),event.size().height())
# size = self.size()
# w = size.width()
# h = size.height()
# self.grid.resize(w,h)
def drawWidget(self, qp):
size = self.size()
w = size.width()
h = size.height()
pen = QPen(Qt.black, 2, Qt.SolidLine)
#self.grid.resize(w,h)
# qp.setPen(pen)
# qp.drawLine(0, 0, 250, 250)