-
Notifications
You must be signed in to change notification settings - Fork 0
/
GUI.py
66 lines (54 loc) · 2.49 KB
/
GUI.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
import sys
from PyQt5 import QtWidgets, uic
from PyQt5.QtWidgets import QTableWidgetItem
import tkinter as tk
from tkinter import filedialog
import numpy as np
import math
# Загрузка интерфейса из файла PostMachine.ui
class Ui(QtWidgets.QMainWindow):
#Инициализация
def __init__(self):
super(Ui, self).__init__()
uic.loadUi("GUInterface.ui", self)
#Присвоение кнопкам методов
self.pushButton.clicked.connect(self.start)
self.pushButton_clear.clicked.connect(self.Clear_Table)
#Настройка таблицы для вывода и ввода команд
self.tableWidget.setColumnCount(2)
self.tableWidget.setHorizontalHeaderLabels(("x","f(x)"))
self.tableWidget.setColumnWidth(0,100)
self.tableWidget.setColumnWidth(1,250)
#Запуск расчёта значений функции
def start(self):
if self.lineEdit_a.text() and self.lineEdit_b.text() and self.lineEdit_h.text() and self.lineEdit_m.text() !="":
a = float(self.lineEdit_a.text())
b = float(self.lineEdit_b.text())
h = float(self.lineEdit_h.text())
m = float(self.lineEdit_m.text())
rowCount = self.tableWidget.rowCount()
while(a<=b):
result=pow(b, 3)-m*math.sin(b)
self.tableWidget.insertRow(rowCount)
self.tableWidget.setItem(rowCount,0,QTableWidgetItem(str(b)))
self.tableWidget.setItem(rowCount,1,QTableWidgetItem(str(result)))
b=b-h
else:
QtWidgets.QMessageBox.warning(self, "Ошибка", "Неверно введённые данные!")
#Метод для очистки таблицы
def Clear_Table(self):
# Очистить содержимое ячеек
self.tableWidget.clearContents()
# Установить количество строк в 0
self.tableWidget.setRowCount(0)
#Метод для изменения нумерации ячеек
def rowsEdit(self):
for i in range(self.tableWidget.rowCount()):
item = QTableWidgetItem(str(i))
self.tableWidget.setVerticalHeaderItem(i, item)
#Настройка формы
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = Ui()
window.show()
sys.exit(app.exec_())