PyQt5 QSpinBox – 设置步长类型
在这篇文章中,我们将看到如何为旋转盒设置步长类型,有两种步长类型,即默认步长和自适应十进制步长。自适应小数的步长意味着步长将持续调整到低于当前值的十次方,例如,如果值是900,它的下一个增量将是10,值等于1000,增量将是100。默认情况下,它被设置为默认的步骤类型,尽管我们可以改变。为了做到这一点,我们将使用setStepType方法
注意: 这个功能是在Qt 5.12中引入的,所以低版本没有这个功能。
语法: spin_box.setStepType(QAbstractSpinBox.AdaptiveDecimalStepType) 或 spin_box.setStepType(1)
参数: 它接受QAbstractionSpinBox对象或我们可以传递1,即它的值作为参数
返回: 它返回无。
下面是实现方法
# 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())