📜  PyQt5 – QDoubleSpinBox(1)

📅  最后修改于: 2023-12-03 15:18:49.955000             🧑  作者: Mango

PyQt5 - QDoubleSpinBox介绍

QDoubleSpinBox 是一个能够用于输入和展示浮点值的小部件。这是 PyQt5 中的一个内置小部件,用于创建具有数值调节功能的窗口应用程序。

使用QDoubleSpinBox

以下是一个简单的 QDoubleSpinBox 程序代码片段:

from PyQt5.QtWidgets import QApplication, QWidget, QDoubleSpinBox, QVBoxLayout
import sys

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        vbox = QVBoxLayout()

        spinbox = QDoubleSpinBox()
        vbox.addWidget(spinbox)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('QDoubleSpinBox')
        self.show()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在上面的代码中,我们使用 QDoubleSpinBox 创建一个浮点值调节器部件,并在 Qt 窗口应用程序中进行展示。

配置QDoubleSpinBox

QDoubleSpinBox 中有很多配置选项,可以用于改变它的行为和外观。 如下所示,我们可以使用 setRange() 方法来设置输入值的范围:

spinbox.setRange(-10000, 10000)

我们还可以使用 setDecimals() 方法来设置输入值的小数位数:

spinbox.setDecimals(2)

我们还可以使用 setSuffix() 方法来设置调节器的后缀,例如:

spinbox.setSuffix(' cm')
QDoubleSpinBox信号

QDoubleSpinBox 在值被修改时会发出很多信号。我们可以通过绑定这些信号来执行各种操作。

例如,我们可以使用 valueChanged 信号来检测值是否发生变化:

def on_valuechange(val):
    print('当前值是:', val)

spinbox.valueChanged.connect(on_valuechange)
总结

QDoubleSpinBox 是一个使用方便的浮点值调节器部件。 在 PyQt5 中,它提供了大量的配置选项,可以根据需要进行修改。 通过连接 QDoubleSpinBox 的信号,我们可以在值发生变化时执行各种操作。