当前位置 博文首页 > PyQt5中QSpinBox计数器的实现

    PyQt5中QSpinBox计数器的实现

    作者:水之心 时间:2021-02-06 09:02

    QSpinBox 是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox 的取值范围是 0~99,每次改变的步长值为 1。

    QSpinBox 类和 QDoubleSpinBox 类均派生自 QAbstractSpinBox 类。QSpinBox 用于处理整数值,QDoubleSpinBox 则用于处理浮点值,它们之间的区别就是处理数据的类型不同,其他功能都基本相同。QDoubleSpinBox 的默认精度是两位小数,但可以通过 setDecimals() 来改变。

    QSpinBox类中的常用方法:

    每次单击向上/向下按钮时,QSpinBox 计数器都会发射 valueChanged 信号,可以从相应的 slot 函数中通过 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)
        self.setWindowTitle("SpinBox 例子")
        self.resize(300, 100)
    
        layout = QVBoxLayout()
        self.l1 = QLabel("current value:")
        self.l1.setAlignment(Qt.AlignCenter)
        layout.addWidget(self.l1)
        self.sp = QSpinBox()
        layout.addWidget(self.sp)
        self.sp.valueChanged.connect(self.valuechange)
        self.setLayout(layout)
    
      def valuechange(self):
        self.l1.setText("current value:" + str(self.sp.value()))
    
    
    if __name__ == '__main__':
      app = QApplication(sys.argv)
      ex = spindemo()
      ex.show()
      sys.exit(app.exec_())

    效果:

    QSpinBox和QDoubleSpinBox的比较

    • QSpingBox是一个计数器控件,允许用户选择一个整数值,通过上下按钮或键盘上下箭头来增加或减少当前值,同时支持用户手动输入。
    • 在默认情况下QSpingBox的默认取值范围是0-99,步长为1。
    • QSpinBox类和QDoubleSpinBox类均派生自QAbstractSpinBox类,QSpinBox用于处理整数值,QDoubleSpinBox则用于处理浮点值,他们之间的区别就是处理数据的类型不同,其他功能都基本相投,QDoubleSpinBox的默认精度是两位小数,但可以通过setDecimals()来设置。
    js
    下一篇:没有了