PyQt QSpinBox小工具

PyQt QSpinBox小工具

一个 QSpinBox 对象向用户展示了一个文本框,该文本框显示一个整数,其右侧有向上/向下的按钮。如果向上/向下按钮被按下,文本框中的数值就会增加/减少。

默认情况下,盒子里的整数从0开始,一直到99,并按1级变化。对于浮动值,请使用QDoubleSpinBox。

QSpinBox类的重要方法如下表所示

序号 方法和描述
1 setMinimum() 设置计数器的下限值。
2 setMaximum() 设置计数器的上限值
3 setRange() 设置最小、最大和阶梯值
4 setValue() 以编程方式设置旋转盒的值
5 Value() 返回当前值
6 singleStep() 设置计数器的步骤值

QSpinBox对象每次在按下向上/向下按钮时都会发出valueChanged()信号。相关的槽函数可以通过value()方法检索窗口部件的当前值。

下面的例子有一个标签(l1)和旋转盒(sp),放在顶部窗口的垂直布局中。valueChanged()信号被连接到valuechange()方法。

self.sp.valueChanged.connect(self.valuechange)

valueChange()函数将当前值显示为标签的标题。

self.l1.setText("current value:"+str(self.sp.value()))

完整的代码如下-

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *

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

      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)
      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()

上述代码产生了以下输出 —

PyQt - QSpinBox小工具

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程