PyQt5 QSpinBox – 滚动它

  • Post category:Python

当我们需要在Python的GUI程序中添加一个带有滚动条的数字输入框时,可以使用PyQt5库的QSpinBox控件。QSpinBox是Qt库中的数字输入框控件,它提供了一个带有上下箭头的数字编辑器,可以用来输入数字、更新数值。下面就是关于PyQt5 QSpinBox控件的完整使用攻略。

安装PyQt5库

如果你是第一次使用PyQt5,需要先进行安装,可以使用pip或者conda包管理器进行安装。以pip为例,安装命令如下:

pip install PyQt5

创建QSpinBox控件

  1. 在PyQt5中使用QSpinBox控件前,需要先导入库文件和模块,代码如下:
from PyQt5.QtWidgets import QApplication, QSpinBox, QWidget
from PyQt5.QtCore import Qt
  1. 创建一个QSpinBox控件
spinBox = QSpinBox()

这个控件将会是一个最简单的数字输入框,它默认的取值范围是0到99。

设置QSpinBox控件属性

  1. 设置数字范围
spinBox.setRange(0, 100)

调用setRange()方法可以设置spinBox控件的最小值和最大值,参数是控件的最小值和最大值。在这里,设置的范围是从0到100。

  1. 设置步长
spinBox.setSingleStep(2)

通过setSingleStep()方法可以设置步长,表示按上下箭头单次改变数字的大小,默认情况下,步数为1。

  1. 设置自动増长和循环
spinBox.setWrapping(True)
spinBox.setSpecialValueText('100')

调用setWrapping(True)方法可以设置当到达最大值或最小值时,是否可以自动更新到另一端,即自动循环。

调用setSpecialValueText('100')方法可以设置spinBox控件的特殊值文本,当使用spinBox.setValue(100)设置为100时,将会显示该文本。

  1. 设置对齐格式
spinBox.setAlignment(Qt.AlignCenter)

使用setAlignment()方法可以设置对齐方式,这里设置的是居中对齐。

获取和设置控件值

  1. 获取当前控件值
print(spinBox.value())

使用value()方法可以获取spinBox控件当前的值。这里输出的是当前的数字,假设当前数字是5。

  1. 设置控件值
spinBox.setValue(10)

使用setValue()方法可以设置spinBox控件的当前值,这里设置当前数字为10。

添加spinBox控件到GUI中

widget = QWidget()
spinBox = QSpinBox(widget)
widget.show()

在这个例子里,我们创建了一个QSpinBox控件,然后将它添加到一个QWidget对象中,并显示这个窗口。

示例

示例1:创建一个简单的spinBox控件

from PyQt5.QtWidgets import QApplication, QSpinBox, QWidget
from PyQt5.QtCore import Qt

app = QApplication([])
widget = QWidget()
spinBox = QSpinBox(widget)

widget.show()
app.exec_()

示例2:更改控件属性

from PyQt5.QtWidgets import QApplication, QSpinBox, QWidget
from PyQt5.QtCore import Qt

app = QApplication([])
widget = QWidget()
spinBox = QSpinBox(widget)
spinBox.setRange(0, 100)
spinBox.setSingleStep(2)
spinBox.setWrapping(True)
spinBox.setSpecialValueText('100')
spinBox.setAlignment(Qt.AlignCenter)
spinBox.setValue(10)
widget.show()
app.exec_()

在这个例子里,我们设置了spinBox控件的取值范围为0到100,每次调整数值的步长为2,到达最大值或最小值时自动循环,特殊值文本为“100”,数字居中对齐,当前值为10。