整数数字调节框QSpinBox

Posted liming19680104

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整数数字调节框QSpinBox相关的知识,希望对你有一定的参考价值。

样式:

技术图片

 

 1 import sys
 2 from PyQt5.QtWidgets import QApplication, QWidget, QSpinBox, QDoubleSpinBox, QHBoxLayout
 3 
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.spinbox = QSpinBox(self)   #实例化数字调节框
 9         self.spinbox.setRange(-99, 99)  # 设置范围。默认范围为0-99
10         self.spinbox.setSingleStep(1)  # 设置步长,即每次点击递增或递减多少值
11         self.spinbox.setValue(66)  # 设置显示值
12         self.spinbox.valueChanged.connect(self.value_change_func)  # 值发生变化时发出信号
13 
14         self.double_spinbox = QDoubleSpinBox(self)  # 实例化浮点型数字调节框
15         self.double_spinbox.setRange(-99.99, 99.99)  #设置范围
16         self.double_spinbox.setSingleStep(0.01)    # 设置步长,即每次点击递增或递减多少值
17         self.double_spinbox.setValue(66.66)    # 设置显示值
18 
19         self.h_layout = QHBoxLayout()
20         self.h_layout.addWidget(self.spinbox)
21         self.h_layout.addWidget(self.double_spinbox)
22         self.setLayout(self.h_layout)
23 
24     def value_change_func(self):
25         decimal_part = self.double_spinbox.value() - int(self.double_spinbox.value())
26         self.double_spinbox.setValue(self.spinbox.value() + decimal_part)  
27 
28 
29 if __name__ == __main__:
30     app = QApplication(sys.argv)
31     demo = Demo()
32     demo.show()
33     sys.exit(app.exec_())

 

 

 1 import sys
 2 from PyQt5.QtWidgets import QApplication, QWidget, QSpinBox
 3 
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.spinbox = QSpinBox(self)   #实例化数字调节框
 9         self.spinbox.setRange(-99, 99)  # 设置范围。默认范围为0-99
10         self.spinbox.setSingleStep(1)  # 设置步长,即每次点击递增或递减多少值,默认是1
11         self.spinbox.setValue(66)  # 设置显示值
12         self.spinbox.valueChanged.connect(self.v)  # 值发生变化时发出信号
13         self.spinbox.setMinimum(50)   #设置最小值
14         self.spinbox.setMaximum(80)   #设置最大值
15 
16 
17     def v(self):
18         print(self.spinbox.value())    #返回当前值
19 
20 
21 if __name__ == __main__:
22     app = QApplication(sys.argv)
23     demo = Demo()
24     demo.show()
25     sys.exit(app.exec_())

 

以上是关于整数数字调节框QSpinBox的主要内容,如果未能解决你的问题,请参考以下文章

Qt入门系列开发教程基础控件篇QSpinBox旋转框

带无符号整数的 QSpinBox 用于十六进制输入

QT5-控件-QSpinBox和QDoubleSpinBox(用于通过控件调整整数和小数)

QDoubleSpinBox浮点型数字调节框

在 QSpinBox 中禁用滚轮

8.布局管理器