0%

PyQt4--《十》调值框QSpinBox

一个显示整数的文本框,右侧可以有上下按钮调节。
默认情况下,整数值从0开始,最大是99,步长为1。如果想用浮点数,需要使用QDoubleSpinBox。

QSpinBox的函数

  • setMinimum():设定最小值
  • setMaximum():设定最大值
  • setRange():设定最小值、最大值和步长
  • setValue():编写程序来设定数值
  • Value():返回当前值
  • singleStep():设定步长

QSpinBox的信号

每次点击up/down按钮时,就会发射valueChanged()信号,相应的槽可以通过value()函数获取当前值。

栗子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#-*-coding:utf-8-*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

class window(QWidget):
def __init__(self, parent=None):
super(window, self).__init__(parent)
self.init()

def init(self):
#创建布局对象
layout = QVBoxLayout()
self.l1 = QLabel("current value:")
self.sp = QSpinBox()

#设置属性
self.l1.setAlignment(Qt.AlignCenter)
self.sp.valueChanged.connect(self.valuechange) # 发射valueChanged信号,与下面的valuechange槽连接

# 添加对象到容器
layout.addWidget(self.l1)
layout.addWidget(self.sp)

self.setLayout(layout)
self.setWindowTitle(u"SpinBox")

def valuechange(self):
self.l1.setText("current value:"+str(self.sp.value())) # 用QLabel显示

def main():
app = QApplication(sys.argv)
ex = window()
ex.show()
sys.exit(app.exec_())

if __name__ == '__main__':
main()