Didn't see the Qt version of the adding together with GUI yet, so here I have a minimalist version:
import sys from PyQt5.QtWidgets import QWidget, QSpinBox, QLabel, QApplication, QHBoxLayout app = QApplication(sys.argv) w = QWidget() w.setLayout(QHBoxLayout()) spinOne = QSpinBox(w) spinTwo = QSpinBox(w) output = QLabel(w) def add(): output.setText(str(spinOne.value() + spinTwo.value())) spinOne.valueChanged.connect(add) spinTwo.valueChanged.connect(add) w.layout().addWidget(spinOne) w.layout().addWidget(spinTwo) w.layout().addWidget(output) w.show() app.exec() And here a version how I'd actually like to see it if written seriously: import sys from PyQt5.QtCore import pyqtSignal, pyqtSlot from PyQt5.QtWidgets import QWidget, QSpinBox, QLabel, QApplication, QHBoxLayout class AddWidget(QWidget): newValue = pyqtSignal(str) def __init__(self, parent=None): super().__init__(parent) self.setLayout(QHBoxLayout(self)) self.firstInput = QSpinBox(self) self.layout().addWidget(self.firstInput) self.firstInput.valueChanged.connect(self.addTogether) self.secondInput = QSpinBox(self) self.layout().addWidget(self.secondInput) self.secondInput.valueChanged.connect(self.addTogether) self.output = QLabel(self) self.layout().addWidget(self.output) self.newValue.connect(self.output.setText) @pyqtSlot(int) def addTogether(self, arg): self.newValue.emit(str(self.firstInput.value() + self.secondInput.value())) if __name__ == "__main__": app = QApplication(sys.argv) w = AddWidget() w.show() app.exec() I'll fully admit it takes a few lines more code to actually do it right compared to the other mentioned GUI frameworks, but it shows nicely how it's really a toolbox full of stuff you can use to assemble what you need.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/