Python 将PyQt5 spinbox链接到定义的push Botton下的变量

Python 将PyQt5 spinbox链接到定义的push Botton下的变量,python,pyqt,pyqt5,Python,Pyqt,Pyqt5,我想将一个spinbox链接到一个变量A1、A2、L,该变量将用作计算公式中的整数输入。旋转框的用途是供用户输入所需的计算值。我无法将它们联系起来。欢迎提出任何意见 self.pushButton.clicked.connect(self.pushButton_handler) self.spinBox.valueChanged.connect(A1) self.spinBox_2.valueChanged.connect(A2) self.spinBox_3.valueChanged.conn

我想将一个spinbox链接到一个变量A1、A2、L,该变量将用作计算公式中的整数输入。旋转框的用途是供用户输入所需的计算值。我无法将它们联系起来。欢迎提出任何意见

self.pushButton.clicked.connect(self.pushButton_handler)
self.spinBox.valueChanged.connect(A1)
self.spinBox_2.valueChanged.connect(A2)
self.spinBox_3.valueChanged.connect(L) 


def pushButton_handler(self):

                A1 = self.spinBox.value
                A2 = self.spinBox_2.value
                L= self.spinBox_3.value
                F=1

                I=A1+A2-L+F
                print ('I')

此属性保存旋转框的值:

QtWidgets.QSpinBox.value()       
事件
QSpinBox
将信号
valueChanged
绑定到插槽,在您的情况下
self.button\u处理程序

import sys
from PyQt5.Qt import *

class Example(QWidget):
    def __init__(self):
        super().__init__()

        self.spinBox = QSpinBox()
        self.spinBox.setRange(1, 200)
        self.spinBox.setValue(11)
        self.spinBox.setPrefix(" A1 :  ")
        self.spinBox.valueChanged.connect(self.pushButton_handler)

        self.spinBox_2 = QSpinBox()
        self.spinBox_2.setRange(1, 200)
        self.spinBox_2.setValue(55)
        self.spinBox_2.setPrefix(" A2 :  ")
        self.spinBox_2.valueChanged.connect(self.pushButton_handler)

        self.spinBox_3 = QSpinBox()
        self.spinBox_3.setRange(1, 200)
        self.spinBox_3.setValue(77)
        self.spinBox_3.setPrefix(" L_ :  ")        
        self.spinBox_3.valueChanged.connect(self.pushButton_handler)

        self.pushButton = QPushButton("Click me", clicked=self.pushButton_handler)

        self.label = QLabel('')

        lay = QVBoxLayout(self)
        lay.addWidget(self.spinBox)
        lay.addWidget(self.spinBox_2)
        lay.addWidget(self.spinBox_3)
        lay.addWidget(self.pushButton)
        lay.addWidget(self.label)


    def pushButton_handler(self):
        a1 = self.spinBox.value()                # + ()
        a2 = self.spinBox_2.value()              # + ()
        l  = self.spinBox_3.value()              # + ()
        f  = 1

        i = a1 + a2 - l + f

#        print ('a1 + a2 - l + f = {}'.format(i))  
        self.label.setText('a1 + a2 - l + f = {}'.format(i))   


if __name__ == "__main__":
    app = QApplication(sys.argv)
    default_font = QFont()
    default_font.setPointSize(15)
    app.setFont(default_font)
    w = Example()
    w.resize(220, 200)
    w.show()
    sys.exit(app.exec_())

谢谢你,S.尼克。这正是我所需要的。@MichaleMackdonalde如果我的答案解决了你的问题,请务必将答案标记为正确。