PyQt5 QSpinBox - 设置步骤类型
在本文中,我们将了解如何将步长类型设置为微调框,有两种类型的步长类型,即默认的一种正常递增值,另一种是自适应十进制。自适应小数步长意味着步长将连续调整到当前值以下的 10 次方,即如果值为 900,则下一个增量将关闭 10 值等于 1000 增量将为 100。默认设置为到默认步骤类型,虽然我们可以改变。
为此,我们将使用setStepType
方法
注意:此功能是在 Qt 5.12 中引入的。所以低版本没有这个功能。
Syntax :
spin_box.setStepType(QAbstractSpinBox.AdaptiveDecimalStepType)
or
spin_box.setStepType(1)
Argument : It takes QAbstractionSpinBox object or we can pass 1 i.e its value as argument
Return : It returns None
下面是实现
# importing libraries
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.Qt import PYQT_VERSION_STR
print("PyQt version:", PYQT_VERSION_STR)
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
# setting title
self.setWindowTitle("Python ")
# setting geometry
self.setGeometry(100, 100, 600, 400)
# calling method
self.UiComponents()
# showing all the widgets
self.show()
# method for widgets
def UiComponents(self):
# creating spin box
self.spin = QSpinBox(self)
# setting geometry to spin box
self.spin.setGeometry(100, 100, 150, 40)
# setting range
self.spin.setRange(0, 10000)
# setting value
self.spin.setValue(950)
# setting step type
self.spin.setStepType(QAbstractSpinBox.AdaptiveDecimalStepType)
# creating label
label = QLabel(self)
# setting geometry to the label
label.setGeometry(100, 160, 200, 30)
# getting single step size
step = self.spin.singleStep()
# setting text to the label
label.setText("Step Size : " + str(step))
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())
输出 :