PyQt5 浮点数调节框控件QDoubleSpinBox

  • Post category:Python

下面是关于Python的PyQt5浮点数调节框控件QDoubleSpinBox的详细使用攻略。

简介

QDoubleSpinBox是PyQt5中的浮点数调节框控件。它允许用户以数字的方式编辑和选择浮点数。QDoubleSpinBox 的小数位数和数字范围可以被配置。

代码演示

基本用法

以下是使用QDoubleSpinBox的基本示例代码:

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


class MainWindow(QWidget):
    def __init__(self):
        super().__init__()

        # 创建浮点数调节框控件
        self.double_spin = QDoubleSpinBox()
        self.double_spin.setDecimals(2)  # 设置小数位数
        self.double_spin.setMinimum(-10.00)  # 设置范围
        self.double_spin.setMaximum(10.00)

        # 创建一个包含QDoubleSpinBox的垂直布局
        layout = QVBoxLayout()
        layout.addWidget(self.double_spin)

        # 将垂直布局与QWidget关联
        self.setLayout(layout)


if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

在这个示例中,我们创建了一个QDoubleSpinBox控件,并将其范围设置为-10.00到10.00之间,小数位数设置为2。然后我们使用QVBoxLayout将QDoubleSpinBox控件添加到一个QWidget中。

带有信号和槽的用法

以下是使用QDoubleSpinBox的信号和槽示例:

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


class MainWindow(QWidget):
    def __init__(self):
        super().__init__()

        # 创建QDoubleSpinBox控件
        self.double_spin = QDoubleSpinBox()
        self.double_spin.setDecimals(2)
        self.double_spin.setMinimum(-10.00)
        self.double_spin.setMaximum(10.00)

        # 创建一个标签控件,用于显示QDoubleSpinBox的值
        self.label = QLabel("0.00")

        # 使用QDoubleSpinBox的valueChanged信号,将QDoubleSpinBox的值与标签的文本相关联
        self.double_spin.valueChanged.connect(self.update_label)

        # 创建一个包含QDoubleSpinBox和标签的垂直布局
        layout = QVBoxLayout()
        layout.addWidget(self.double_spin)
        layout.addWidget(self.label)

        # 将垂直布局和QWidget相关联
        self.setLayout(layout)

    def update_label(self):
        # 将QDoubleSpinBox控件的值显示在标签中
        self.label.setText(str(self.double_spin.value()))


if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()

在这个示例中,我们创建了一个QDoubleSpinBox控件和一个标签控件。我们使用了QDoubleSpinBox的valueChanged信号,将控件的实际值与标签的文本相关联。每当QDoubleSpinBox的值改变时,我们会在标签中显示它的新值。

结论

这就是使用PyQt5中的QDoubleSpinBox控件的详细教程。我们在这里涵盖了控件的基本用法以及使用信号和槽的用法,并提供了一些示例代码供参考。更多信息可以参考PyQt5官方文档。