Не могу сделать вывод, что я делаю не так? Pyqt5 Python

введите сюда описание изображения https://disk.yandex.ru/d/uUxwFaBm7Jr7mg вот ссылка на сам ui приложения


Ответы (1 шт):

Автор решения: Beneviento
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QDialog, QLineEdit

сlass MyWidget(QDialog):
    def __init__(self):
        super().__init__()
        uic.loadUi('CreditCalc.ui', self)  # Исправлена ошибка в имени файла 
'uifile'

        self.pushButton.clicked.connect(self.k)  # Предполагается, что ваша 
кнопка называется 'pushButton'

    def a(self):
        return int(self.input1.text())

    def b(self):
        return int(self.input2.text())

    def c(self):
        return int(self.input3.text())

    def k(self):
        a = self.a()
        b = self.b()
        c = self.c()
        result = a + b + c  # Выполните ваш расчет здесь
        self.output.setPlainText(str(result))  # Предполагается, что ваш виджет 
вывода называется 'output'

app = QApplication(sys.argv)
ex = MyWidget()
ex.show()
sys.exit(app.exec_())

Исправил строку uic.loadUi, чтобы удалить ненужный uifile: и исправить опечатку в имени файла интерфейса. Подключил сигнал clicked кнопки к методу k. Удалил ненужные вызовы int(QLineEdit()) в методах a, b и c. Метод text() уже возвращает строку, и не нужно преобразовывать его в int дважды. Изменил self.output.QPlainTextEdit.setPlainText(a) на self.output.setPlainText(str(result)), чтобы правильно установить простой текст. Убедитесь, что вы корректно адаптировали имена виджетов ('input1', 'input2', 'input3', 'output', 'pushButton') в соответствии с именами в вашем файле интерфейса (UI).

→ Ссылка