-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathingSistemas.py
77 lines (69 loc) · 2.88 KB
/
ingSistemas.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
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QDialog, QTableWidgetItem
from PyQt5.uic import loadUi
class ingSistemas(QDialog):
def __init__(self, sistema, n):
super(ingSistemas, self).__init__()
loadUi('UI/ingresarsistema.ui', self)
self.setWindowTitle('Ingresar sistema de ecuaciones')
self.sistema = sistema
self.n = n
self.guardar.clicked.connect(self.on_pushButton_clicked)
if(self.sistema.AB!=[[]]):
inicial = self.sistema.inicialAB
n = self.sistema.n
print("ini", inicial)
# primera iter
labels = []
for x in range(0, n):
labels.append("X" + str(x + 1))
labels.append("B")
for x in range(0, n + 1):
self.tableWidget.insertColumn(x)
self.tableWidget.setHorizontalHeaderLabels(labels)
for x in range(0, n):
self.tableWidget.insertRow(x)
for i in range(0, n):
for j in range(0, n + 1):
self.tableWidget.setItem(i, j, QTableWidgetItem(str(inicial[i][j])))
else:
labels = []
for x in range(0, n):
labels.append("X" + str(x + 1))
labels.append("B")
for x in range(0, n + 1):
currentRowCount = self.tableWidget.rowCount() # necessary even when there are no rows in the table
self.tableWidget.insertColumn(currentRowCount)
if (x != n):
currentRowCount = self.tableWidget.rowCount() # necessary even when there are no rows in the table
self.tableWidget.insertRow(currentRowCount)
for y in range(0, n):
self.tableWidget.setItem(currentRowCount, y, QTableWidgetItem(" "))
self.tableWidget.setHorizontalHeaderLabels(labels)
def getA(self):
# print(self.tableWidget.item(0,0).text())
a = [[None for i in range(self.n)] for j in range(self.n)]
for i in range(0, self.n):
for j in range(0, self.n):
a[i][j] = float(self.tableWidget.item(i, j).text())
return a
# print(a)
def getB(self):
b = [None] * self.n
for i in range(0, self.n):
b[i] = float(self.tableWidget.item(i, self.n).text())
return b
# print(b)
def getAB(self):
ab = [[None for i in range(self.n + 1)] for j in range(self.n)]
for i in range(0, self.n):
for j in range(0, self.n + 1):
ab[i][j] = float(self.tableWidget.item(i, j).text())
return ab # print(ab)
@pyqtSlot()
def on_pushButton_clicked(self):
self.sistema.setA(self.getA())
self.sistema.setB(self.getB())
self.sistema.setAB(self.getAB())
self.sistema.setInicialAB(self.getAB())
self.close()