from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QApplication, QWidget
# импортируем графическую форму из модуля ui_calculatorform
from ui_calculatorform import Ui_CalculatorForm
# форма калькулятора
class CalculatorForm(QWidget):
def __init__(self, parent=None): # инициализация
super(CalculatorForm, self).__init__(parent) # инициализация предка
self.ui = Ui_CalculatorForm() # создаем объект
self.ui.setupUi(self) # настройка объекта
# декоратор позволяет динамически обновлять значение в label-е outputWidget
# при изменении
# название операции зависит от имени объекта в ui, т.е. в данном случае inputSpinBox1-2
@pyqtSlot(int)
def on_inputSpinBox1_valueChanged(self, value):
self.ui.outputWidget.setText(str(value + self.ui.inputSpinBox2.value()))
@pyqtSlot(int)
def on_inputSpinBox2_valueChanged(self, value):
self.ui.outputWidget.setText(str(value + self.ui.inputSpinBox1.value()))
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
calculator = CalculatorForm()
calculator.show()
sys.exit(app.exec_())