PyQt5 QDoubleSpinBox - Python

17 Mar 2025 | 4 分钟阅读

图形用户界面(GUI)是尖端软件包的一个重要方面,它允许客户以直观且用户友好的方式与软件包进行交互。Python 作为一种灵活的编程语言,提供了各种 GUI 框架来构建交互式应用程序。其中,PyQt5 以其简洁、灵活和功能丰富的控件而成为一种流行的选择。

PyQt5 提供的这样一种有用的控件是 QDoubleSpinBox,它允许用户轻松输入十进制数字。无论是处理财务数据、进行科学计算,还是仅仅收集精确的数字输入,QDoubleSpinBox 都被证明是开发人员的有效且方便的工具。

PyQt5 中的 QDoubleSpinBox 控件是一个输入字段,专门设计用于轻松接受 **浮点数(十进制)**。它是 QSpinBox 控件的扩展,QSpinBox 控件处理整数输入。QDoubleSpinBox 是 Qt 库的一部分,PyQt5 为其提供了 Python 绑定。

QDoubleSpinBox 控件具有用户友好的界面,包括一个可编辑的文本字段和右侧的可选微调按钮(向上和向下箭头)。用户可以直接在框中输入十进制值,或使用微调按钮以预定义的步长递增或递减该值。

QDoubleSpinBox 的重要功能

让我们探索一些使其成为 Python GUI(图形用户界面)开发重要工具的关键功能。

  1. 十进制精度:开发人员可以完全控制 QDoubleSpinBox 的十进制精度。您可以指定要显示的十进制位数,使其非常适合处理最精确的数字输入。
  2. 信号和槽:与其他 PyQt5 控件一样,QDoubleSpinBox 支持信号和槽机制。当值更改或发生特定用户交互时,它会发出信号。开发人员可以将这些信号连接到自定义函数(槽)以有效地响应用户操作。
  3. 范围设置:使用 QDoubleSpinBox,您可以定义用户输入的最小和最大允许值。这确保输入的值落在首选范围内,防止任何无效数据被处理。
  4. 步长:该控件允许开发人员设置步长,该步长决定在使用微调按钮时递增或递减的值。当处理用户需要以特定增量调整值的场景时,此功能非常有用。

在 Python 中使用 QDoubleSpinBox

要在 Python 应用程序中使用 QDoubleSpinBox,您首先需要安装 PyQt5。如果您还没有安装,可以使用以下 pip 命令完成:

代码从这里开始,

输入

输出

PyQt5 QDoubleSpinBox - Python

获得上述输出后,我们可以检查范围在 0.0 到 100.00 之间的值。如果值超出范围,将不会接受该值。

0.0 到 100.00。如果值超过范围,则不会接受该值。

  1. 我们从 PyQt5 导入必要的模块
    • QApplication:主应用程序对象。
    • QWidget:所有 GUI 控件的基类。
    • QLabel:显示文本或图像的控件。
    • QDoubleSpinBox:用于接受十进制输入的控件。
    • QVBoxLayout:用于垂直排列控件的布局管理器。
    • QFont:用于设置 QLabel 和 QDoubleSpinBox 的字体。
  2. 我们定义了一个自定义 QWidget 类 **DoubleSpinBoxExample**,它继承自 QWidget。该类负责创建 GUI 元素。
  3. 在 **initUI** 方法中,我们设置了用户界面
    • 我们创建了一个 QVBoxLayout 作为控件的主布局。
    • 创建了一个 QLabel 来提示用户输入,并将其字体设置为 Arial,大小为 16。
    • 创建了一个 QDoubleSpinBox,并配置了允许范围、十进制精度和增量步长。其字体也设置为 Arial,大小为 16。
    • 我们将 QDoubleSpinBox 的 **valueChanged** 信号连接到 **onValueChanged**
  4. 我们设置了主布局、窗口标题、初始窗口大小,然后显示了控件。
  5. **onValueChanged** 方法定义用于处理 QDoubleSpinBox 的 **valueChanged** 信号。每当用户更改微调框中的值时,都会调用此方法,并将更新后的值打印到控制台。
  6. 最后,我们创建了一个 **QApplication** 实例,初始化了 **DoubleSpinBoxExample** 控件,并通过 **app.Exec_()** 启动了应用程序的事件循环。