Написал код, решение квадратного уровнения. Запускаю, выполнение завершается без ошибок, но и результатов выполнения нет. Подскажите что не так?
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout, QPushButton
import math
class QuadraticEquationSolver(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
a_label = QLabel("Коэффициент a:")
b_label = QLabel("Коэффициент b:")
c_label = QLabel("Коэффициент c:")
self.a_edit = QLineEdit()
self.b_edit = QLineEdit()
self.c_edit = QLineEdit()
solve_button = QPushButton("Решить")
solve_button.clicked.connect(self.solve)
self.result_label = QLabel("")
layout = QVBoxLayout()
layout.addWidget(a_label)
layout.addWidget(self.a_edit)
layout.addWidget(b_label)
layout.addWidget(self.b_edit)
layout.addWidget(c_label)
layout.addWidget(self.c_edit)
layout.addWidget(solve_button)
layout.addWidget(self.result_label)
self.setLayout(layout)
self.setWindowTitle("Решение квадратного уравнения")
def solve(self):
a = float(self.a_edit.text())
b = float(self.b_edit.text())
c = float(self.c_edit.text())
discriminant = b**2 - 4*a*c
if discriminant < 0:
self.result_label.setText("Решений нет")
elif discriminant == 0:
x = -b / (2 * a)
self.result_label.setText("Единственный корень: {}".format(x))
else:
x1 = (-b + math.sqrt(discriminant)) / (2 * a)
x2 = (-b - math.sqrt(discriminant)) / (2 * a)
self.result_label.setText("Корни: {} и {}".format(x1, x2))
if __name__ == '__main__':
app = QApplication(sys.argv)
solver = QuadraticEquationSolver()
Источник: Stack Overflow на русском