-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
454 lines (435 loc) · 21.6 KB
/
main.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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'main.ui'
#
# Created by: PyQt5 UI code generator 5.12
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1440, 900)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.subtitle_production_text = QtWidgets.QLabel(self.centralwidget)
self.subtitle_production_text.setGeometry(QtCore.QRect(300, 100, 81, 16))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(True)
font.setWeight(75)
self.subtitle_production_text.setFont(font)
self.subtitle_production_text.setObjectName("subtitle_production_text")
self.production_max_label = QtWidgets.QLabel(self.centralwidget)
self.production_max_label.setGeometry(QtCore.QRect(320, 150, 91, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.production_max_label.setFont(font)
self.production_max_label.setObjectName("production_max_label")
self.production_min_label = QtWidgets.QLabel(self.centralwidget)
self.production_min_label.setGeometry(QtCore.QRect(320, 210, 71, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.production_min_label.setFont(font)
self.production_min_label.setObjectName("production_min_label")
self.subtitle_request_text = QtWidgets.QLabel(self.centralwidget)
self.subtitle_request_text.setGeometry(QtCore.QRect(300, 250, 111, 16))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(True)
font.setWeight(75)
self.subtitle_request_text.setFont(font)
self.subtitle_request_text.setObjectName("subtitle_request_text")
self.subtitle_stock_text = QtWidgets.QLabel(self.centralwidget)
self.subtitle_stock_text.setGeometry(QtCore.QRect(300, 400, 131, 16))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(True)
font.setWeight(75)
self.subtitle_stock_text.setFont(font)
self.subtitle_stock_text.setObjectName("subtitle_stock_text")
self.max_request_label = QtWidgets.QLabel(self.centralwidget)
self.max_request_label.setGeometry(QtCore.QRect(320, 300, 91, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.max_request_label.setFont(font)
self.max_request_label.setObjectName("max_request_label")
self.min_request_label = QtWidgets.QLabel(self.centralwidget)
self.min_request_label.setGeometry(QtCore.QRect(320, 360, 81, 21))
font = QtGui.QFont()
font.setPointSize(17)
self.min_request_label.setFont(font)
self.min_request_label.setObjectName("min_request_label")
self.max_stock_label = QtWidgets.QLabel(self.centralwidget)
self.max_stock_label.setGeometry(QtCore.QRect(320, 440, 91, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.max_stock_label.setFont(font)
self.max_stock_label.setObjectName("max_stock_label")
self.min_stock_label = QtWidgets.QLabel(self.centralwidget)
self.min_stock_label.setGeometry(QtCore.QRect(320, 500, 71, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.min_stock_label.setFont(font)
self.min_stock_label.setObjectName("min_stock_label")
self.label_1 = QtWidgets.QLabel(self.centralwidget)
self.label_1.setGeometry(QtCore.QRect(630, 150, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_1.setFont(font)
self.label_1.setObjectName("label_1")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(630, 200, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.label_4 = QtWidgets.QLabel(self.centralwidget)
self.label_4.setGeometry(QtCore.QRect(630, 350, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_4.setFont(font)
self.label_4.setObjectName("label_4")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(630, 300, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.label_6 = QtWidgets.QLabel(self.centralwidget)
self.label_6.setGeometry(QtCore.QRect(630, 490, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_6.setFont(font)
self.label_6.setObjectName("label_6")
self.label_5 = QtWidgets.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(630, 440, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_5.setFont(font)
self.label_5.setObjectName("label_5")
self.processButton = QtWidgets.QPushButton(self.centralwidget)
self.processButton.setGeometry(QtCore.QRect(290, 760, 451, 41))
self.processButton.setObjectName("processButton")
self.processButton.clicked.connect(self.process)
self.subtitle_value_text = QtWidgets.QLabel(self.centralwidget)
self.subtitle_value_text.setGeometry(QtCore.QRect(820, 100, 331, 31))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(True)
font.setWeight(75)
self.subtitle_value_text.setFont(font)
self.subtitle_value_text.setObjectName("subtitle_value_text")
self.rule_1_text = QtWidgets.QLabel(self.centralwidget)
self.rule_1_text.setGeometry(QtCore.QRect(820, 140, 61, 16))
font = QtGui.QFont()
font.setPointSize(17)
font.setBold(True)
font.setWeight(75)
self.rule_1_text.setFont(font)
self.rule_1_text.setObjectName("rule_1_text")
self.alfa_predikat_rule_1_text = QtWidgets.QLabel(self.centralwidget)
self.alfa_predikat_rule_1_text.setGeometry(QtCore.QRect(840, 160, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.alfa_predikat_rule_1_text.setFont(font)
self.alfa_predikat_rule_1_text.setObjectName("alfa_predikat_rule_1_text")
self.z_rule_1_text = QtWidgets.QLabel(self.centralwidget)
self.z_rule_1_text.setGeometry(QtCore.QRect(840, 190, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.z_rule_1_text.setFont(font)
self.z_rule_1_text.setObjectName("z_rule_1_text")
self.rule_2_text = QtWidgets.QLabel(self.centralwidget)
self.rule_2_text.setGeometry(QtCore.QRect(820, 230, 61, 16))
font = QtGui.QFont()
font.setPointSize(17)
font.setBold(True)
font.setWeight(75)
self.rule_2_text.setFont(font)
self.rule_2_text.setObjectName("rule_2_text")
self.alfa_predikat_rule_2_text = QtWidgets.QLabel(self.centralwidget)
self.alfa_predikat_rule_2_text.setGeometry(QtCore.QRect(840, 250, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.alfa_predikat_rule_2_text.setFont(font)
self.alfa_predikat_rule_2_text.setObjectName("alfa_predikat_rule_2_text")
self.z_rule_2_text = QtWidgets.QLabel(self.centralwidget)
self.z_rule_2_text.setGeometry(QtCore.QRect(840, 280, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.z_rule_2_text.setFont(font)
self.z_rule_2_text.setObjectName("z_rule_2_text")
self.rule_3_text = QtWidgets.QLabel(self.centralwidget)
self.rule_3_text.setGeometry(QtCore.QRect(820, 320, 61, 16))
font = QtGui.QFont()
font.setPointSize(17)
font.setBold(True)
font.setWeight(75)
self.rule_3_text.setFont(font)
self.rule_3_text.setObjectName("rule_3_text")
self.alfa_predikat_rule_3_text = QtWidgets.QLabel(self.centralwidget)
self.alfa_predikat_rule_3_text.setGeometry(QtCore.QRect(840, 340, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.alfa_predikat_rule_3_text.setFont(font)
self.alfa_predikat_rule_3_text.setObjectName("alfa_predikat_rule_3_text")
self.z_rule_3_text = QtWidgets.QLabel(self.centralwidget)
self.z_rule_3_text.setGeometry(QtCore.QRect(840, 370, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.z_rule_3_text.setFont(font)
self.z_rule_3_text.setObjectName("z_rule_3_text")
self.alfa_predikat_rule_4_text = QtWidgets.QLabel(self.centralwidget)
self.alfa_predikat_rule_4_text.setGeometry(QtCore.QRect(840, 430, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.alfa_predikat_rule_4_text.setFont(font)
self.alfa_predikat_rule_4_text.setObjectName("alfa_predikat_rule_4_text")
self.z_rule_4_text = QtWidgets.QLabel(self.centralwidget)
self.z_rule_4_text.setGeometry(QtCore.QRect(840, 460, 321, 31))
font = QtGui.QFont()
font.setPointSize(17)
self.z_rule_4_text.setFont(font)
self.z_rule_4_text.setObjectName("z_rule_4_text")
self.rule_4_text = QtWidgets.QLabel(self.centralwidget)
self.rule_4_text.setGeometry(QtCore.QRect(820, 410, 61, 16))
font = QtGui.QFont()
font.setPointSize(17)
font.setBold(True)
font.setWeight(75)
self.rule_4_text.setFont(font)
self.rule_4_text.setObjectName("rule_4_text")
self.title = QtWidgets.QLabel(self.centralwidget)
self.title.setGeometry(QtCore.QRect(590, 20, 351, 41))
font = QtGui.QFont()
font.setPointSize(26)
font.setBold(True)
font.setWeight(75)
self.title.setFont(font)
self.title.setObjectName("title")
self.subtitle = QtWidgets.QLabel(self.centralwidget)
self.subtitle.setGeometry(QtCore.QRect(590, 60, 361, 16))
font = QtGui.QFont()
font.setPointSize(13)
self.subtitle.setFont(font)
self.subtitle.setObjectName("subtitle")
self.conclusion_text = QtWidgets.QLabel(self.centralwidget)
self.conclusion_text.setGeometry(QtCore.QRect(820, 490, 431, 101))
font = QtGui.QFont()
font.setPointSize(17)
self.conclusion_text.setFont(font)
self.conclusion_text.setText("")
self.conclusion_text.setObjectName("conclusion_text")
self.ask_text = QtWidgets.QLabel(self.centralwidget)
self.ask_text.setGeometry(QtCore.QRect(300, 540, 131, 21))
font = QtGui.QFont()
font.setPointSize(20)
font.setBold(True)
font.setWeight(75)
self.ask_text.setFont(font)
self.ask_text.setObjectName("ask_text")
self.label_19 = QtWidgets.QLabel(self.centralwidget)
self.label_19.setGeometry(QtCore.QRect(630, 580, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_19.setFont(font)
self.label_19.setObjectName("label_19")
self.request_text = QtWidgets.QLabel(self.centralwidget)
self.request_text.setGeometry(QtCore.QRect(320, 580, 91, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.request_text.setFont(font)
self.request_text.setObjectName("request_text")
self.label_20 = QtWidgets.QLabel(self.centralwidget)
self.label_20.setGeometry(QtCore.QRect(630, 640, 111, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.label_20.setFont(font)
self.label_20.setObjectName("label_20")
self.stock_text = QtWidgets.QLabel(self.centralwidget)
self.stock_text.setGeometry(QtCore.QRect(320, 640, 91, 16))
font = QtGui.QFont()
font.setPointSize(17)
self.stock_text.setFont(font)
self.stock_text.setObjectName("stock_text")
self.name_text = QtWidgets.QLabel(self.centralwidget)
self.name_text.setGeometry(QtCore.QRect(320, 700, 91, 21))
font = QtGui.QFont()
font.setPointSize(14)
self.name_text.setFont(font)
self.name_text.setObjectName("name_text")
self.name_linedit = QtWidgets.QLineEdit(self.centralwidget)
self.name_linedit.setGeometry(QtCore.QRect(420, 690, 321, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.name_linedit.setFont(font)
self.name_linedit.setObjectName("name_linedit")
self.stock_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.stock_lineedit.setGeometry(QtCore.QRect(420, 630, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.stock_lineedit.setFont(font)
self.stock_lineedit.setObjectName("stock_lineedit")
self.request_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.request_lineedit.setGeometry(QtCore.QRect(420, 570, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.request_lineedit.setFont(font)
self.request_lineedit.setObjectName("request_lineedit")
self.max_stock_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.max_stock_lineedit.setGeometry(QtCore.QRect(420, 430, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.max_stock_lineedit.setFont(font)
self.max_stock_lineedit.setObjectName("max_stock_lineedit")
self.min_stock_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.min_stock_lineedit.setGeometry(QtCore.QRect(420, 490, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.min_stock_lineedit.setFont(font)
self.min_stock_lineedit.setObjectName("min_stock_lineedit")
self.max_request_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.max_request_lineedit.setGeometry(QtCore.QRect(420, 290, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.max_request_lineedit.setFont(font)
self.max_request_lineedit.setObjectName("max_request_lineedit")
self.min_request_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.min_request_lineedit.setGeometry(QtCore.QRect(420, 350, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.min_request_lineedit.setFont(font)
self.min_request_lineedit.setObjectName("min_request_lineedit")
self.max_production_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.max_production_lineedit.setGeometry(QtCore.QRect(420, 140, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.max_production_lineedit.setFont(font)
self.max_production_lineedit.setObjectName("max_production_lineedit")
self.min_production_lineedit = QtWidgets.QLineEdit(self.centralwidget)
self.min_production_lineedit.setGeometry(QtCore.QRect(420, 200, 201, 41))
font = QtGui.QFont()
font.setPointSize(17)
self.min_production_lineedit.setFont(font)
self.min_production_lineedit.setObjectName("min_production_lineedit")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1440, 22))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Sistem Inferensi Fuzzy"))
self.subtitle_production_text.setText(_translate("MainWindow", "Produksi"))
self.production_max_label.setText(_translate("MainWindow", "Maksimal"))
self.production_min_label.setText(_translate("MainWindow", "Minimal"))
self.subtitle_request_text.setText(_translate("MainWindow", "Permintaan"))
self.subtitle_stock_text.setText(_translate("MainWindow", "Persediaan"))
self.max_request_label.setText(_translate("MainWindow", "Maksimal"))
self.min_request_label.setText(_translate("MainWindow", "Minimal"))
self.max_stock_label.setText(_translate("MainWindow", "Maksimal"))
self.min_stock_label.setText(_translate("MainWindow", "Minimal"))
self.label_1.setText(_translate("MainWindow", "kemasan/hari"))
self.label_2.setText(_translate("MainWindow", "kemasan/hari"))
self.label_4.setText(_translate("MainWindow", "kemasan/hari"))
self.label_3.setText(_translate("MainWindow", "kemasan/hari"))
self.label_6.setText(_translate("MainWindow", "kemasan/hari"))
self.label_5.setText(_translate("MainWindow", "kemasan/hari"))
self.processButton.setText(_translate("MainWindow", "PROCESS"))
self.subtitle_value_text.setText(_translate("MainWindow", "Nilai alfa-predikat dan z setiap rule"))
self.rule_1_text.setText(_translate("MainWindow", "Rule-1"))
self.alfa_predikat_rule_1_text.setText(_translate("MainWindow", "Alfa-predikat :"))
self.z_rule_1_text.setText(_translate("MainWindow", "Z :"))
self.rule_2_text.setText(_translate("MainWindow", "Rule-2"))
self.alfa_predikat_rule_2_text.setText(_translate("MainWindow", "Alfa-predikat :"))
self.z_rule_2_text.setText(_translate("MainWindow", "Z :"))
self.rule_3_text.setText(_translate("MainWindow", "Rule-3"))
self.alfa_predikat_rule_3_text.setText(_translate("MainWindow", "Alfa-predikat :"))
self.z_rule_3_text.setText(_translate("MainWindow", "Z :"))
self.alfa_predikat_rule_4_text.setText(_translate("MainWindow", "Alfa-predikat :"))
self.z_rule_4_text.setText(_translate("MainWindow", "Z :"))
self.rule_4_text.setText(_translate("MainWindow", "Rule-4"))
self.title.setText(_translate("MainWindow", "SISTEM INFERENSI FUZZY"))
self.subtitle.setText(_translate("MainWindow", "m e n g g u n a k a n m e t o d e s u g e n o"))
self.ask_text.setText(_translate("MainWindow", "Pertanyaan"))
self.label_19.setText(_translate("MainWindow", "kemasan"))
self.request_text.setText(_translate("MainWindow", "Permintaan"))
self.label_20.setText(_translate("MainWindow", "kemasan"))
self.stock_text.setText(_translate("MainWindow", "Persediaan"))
self.name_text.setText(_translate("MainWindow", "Jenis Barang"))
self.conclusion_text.setText(_translate("MainWindow", " "))
def process(self):
production_max = float(self.max_production_lineedit.text())
production_min = float(self.min_production_lineedit.text())
request_max = float(self.max_request_lineedit.text())
request_min = float(self.min_request_lineedit.text())
stock_max = float(self.max_stock_lineedit.text())
stock_min = float(self.min_stock_lineedit.text())
request = float(self.request_lineedit.text())
stock = float(self.stock_lineedit.text())
name = str(self.name_linedit.text())
down, up = self.fuzzy_set(request_max, request_min, request)
low, high = self.fuzzy_set(stock_max, stock_min, stock)
alpred = self.get_alpha_predicate(up, down, high, low)
z = self.get_z(request, stock)
result = self.get_result(alpred, z)
self.alfa_predikat_rule_1_text.setText("Alfa-predikat\t: " + str(alpred[0]))
self.alfa_predikat_rule_1_text.show()
self.z_rule_1_text.setText("Z\t\t: " + str(int(z[0])))
self.z_rule_1_text.show()
self.alfa_predikat_rule_2_text.setText("Alfa-predikat\t: " + str(alpred[1]))
self.alfa_predikat_rule_2_text.show()
self.z_rule_2_text.setText("Z\t\t: " + str(int(z[1])))
self.z_rule_2_text.show()
self.alfa_predikat_rule_3_text.setText("Alfa-predikat\t: " + str(alpred[2]))
self.alfa_predikat_rule_3_text.show()
self.z_rule_3_text.setText("Z\t\t: " + str(int(z[2])))
self.z_rule_3_text.show()
self.alfa_predikat_rule_4_text.setText("Alfa-predikat \t: " + str(alpred[3]))
self.alfa_predikat_rule_4_text.show()
self.z_rule_4_text.setText("Z\t\t: " + str(int(z[3])))
self.z_rule_4_text.show()
self.conclusion_text.setText("Jadi, jumlah " + name + " yang harus\n diproduksi sebanyak " + str(int(result)) + " kemasan")
self.conclusion_text.show()
def fuzzy_set(self, max_, min_, value_):
down = None
up = None
if value_ < min_:
down = 1
up = 0
elif min_ <= value_ <= max_:
down = (max_ - value_) / (max_ - min_)
up = (value_ - min_) / (max_ - min_)
elif value_ > max_:
down = 0
up = 1
return down, up
def get_alpha_predicate (self, up, down, high, low):
alpred = []
alpred.append(min(down, high))
alpred.append(min(down, low))
alpred.append(min(up, high))
alpred.append(min(up, low))
return alpred
def get_z(self, request, stock):
z = []
z.append(request - stock)
z.append(request)
z.append(request)
z.append(1.25 * request - stock)
return z
def get_result(self, alpred, z):
return (sum([x * y for x, y in zip(alpred, z)]) / sum(alpred))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())