PyQt5 QSpinBox计数器 PyQt5中QSpinBox计数器的实现

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

PyQt5 QSpinBox计数器 PyQt5中QSpinBox计数器的实现

水之心   2021-01-18 我要评论

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()来设置。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们