PyQt5 - QSpinBox 小部件

  • 简述

    QSpinBox对象向用户显示一个文本框,该文本框在其右侧显示一个带有向上/向下按钮的整数。如果按下向上/向下按钮,文本框中的值会增加/减少。
    默认情况下,框中的整数从 0 开始,到 99 并按步骤 1 更改。将 QDoubleSpinBox 用于浮点值。
    QSpinBox 类的重要方法列于下表 -
    序号 方法和描述
    1
    setMinimum()
    设置计数器的下限
    2
    setMaximum()
    设置计数器的上限
    3
    setRange()
    设置最小值、最大值和步长值
    4
    setValue()
    以编程方式设置旋转框的值
    5
    Value()
    返回当前值
    6
    singleStep()
    设置计数器的步长值
    QSpinBox 对象发出valueChanged()每次按下 up/own 按钮时都会发出信号。关联的槽函数可以通过以下方式检索小部件的当前值value()方法。
    以下示例在顶部窗口的垂直布局中放置了一个标签 (l1) 和旋转框 (sp)。valueChanged() 信号连接到 valuechange() 方法。
    
    
    self.sp.valueChanged.connect(self.valuechange)
    
    
    valueChange() 函数将当前值显示为标签的标题。
    
    
    self.l1.setText("current value:"+str(self.sp.value()))
    
    
    完整的代码如下 -
    
    
    import sys
    
    from PyQt5.QtCore import *
    
    from PyQt5.QtGui import *
    
    from PyQt5.QtWidgets import *
    
    
    
    class spindemo(QWidget):
    
       def __init__(self, parent = None):
    
          super(spindemo, self).__init__(parent)
    
          
    
          layout = QVBoxLayout()
    
          self.l1 = QLabel("current value:")
    
          self.l1.setMoognment(Qt.MoognCenter)
    
          layout.addWidget(self.l1)
    
          self.sp = QSpinBox()
    
            
    
          layout.addWidget(self.sp)
    
          self.sp.valueChanged.connect(self.valuechange)
    
          self.setLayout(layout)
    
          self.setWindowTitle("SpinBox demo")
    
            
    
       def valuechange(self):
    
          self.l1.setText("current value:"+str(self.sp.value()))
    
    
    
    def main():
    
       app = QApplication(sys.argv)
    
       ex = spindemo()
    
       ex.show()
    
       sys.exit(app.exec_())
    
        
    
    if __name__ == '__main__':
    
       main()
    
    
    上面的代码产生以下输出 -
    QSpinBox 小部件输出