PyQt5 QDoubleSpinBox – 设置值

  • Post category:Python

PyQt5是一个强大的Python GUI框架,QDoubleSpinBox是它提供的一个用于浮点数输入的控件。在使用PyQt5 QDoubleSpinBox时,我们通常需要设置其初始值,并可以在程序运行时改变其值。本文将详细讲解如何使用PyQt5 QDoubleSpinBox设置控件的值。

设置初始值

要设置QDoubleSpinBox控件的初始值,我们需要先创建该控件的实例。然后,使用setValue()方法设置其初始值即可。代码示例如下:

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

if __name__ == '__main__':
    # 创建应用程序对象
    app = QApplication(sys.argv)

    # 创建主窗口
    window = QWidget()
    window.setWindowTitle('QDoubleSpinBox设置值')

    # 创建QDoubleSpinBox控件
    double_spin_box = QDoubleSpinBox()
    double_spin_box.setMaximum(100.0) # 设置最大值
    double_spin_box.setMinimum(1.0) # 设置最小值
    double_spin_box.setValue(50.0) # 设置初始值

    # 将QDoubleSpinBox控件添加到主窗口中
    layout = QVBoxLayout()
    layout.addWidget(double_spin_box)
    window.setLayout(layout)

    # 显示窗口
    window.show()

    # 进入应用程序主循环
    sys.exit(app.exec_())

在这段代码中,我们首先创建了一个QDoubleSpinBox控件的实例(double_spin_box),然后使用setMaximum()方法和setMinimum()方法设置了该控件的最大值和最小值。最后,使用setValue()方法设置该控件的初始值为50.0。

动态改变值

在程序运行时,我们有时需要动态改变QDoubleSpinBox控件的值。为了实现此功能,我们需要先获取该控件的实例,然后使用setValue()方法改变其值。下面是一个示例代码:

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

def on_button_click():
    # 获取QDoubleSpinBox控件的值
    value = double_spin_box.value()

    # 在控制台输出该值
    print('当前值:{}'.format(value))

    # 改变QDoubleSpinBox控件的值
    double_spin_box.setValue(value + 0.1)

if __name__ == '__main__':
    # 创建应用程序对象
    app = QApplication(sys.argv)

    # 创建主窗口
    window = QWidget()
    window.setWindowTitle('QDoubleSpinBox动态设置值')

    # 创建QDoubleSpinBox控件
    double_spin_box = QDoubleSpinBox()
    double_spin_box.setMaximum(100.0) # 设置最大值
    double_spin_box.setMinimum(1.0) # 设置最小值
    double_spin_box.setValue(50.0) # 设置初始值

    # 创建按钮控件
    button = QPushButton('改变值')
    button.clicked.connect(on_button_click)

    # 将QDoubleSpinBox控件和按钮控件添加到主窗口中
    layout = QVBoxLayout()
    layout.addWidget(double_spin_box)
    layout.addWidget(button)
    window.setLayout(layout)

    # 显示窗口
    window.show()

    # 进入应用程序主循环
    sys.exit(app.exec_())

在这个示例中,我们首先创建了一个QDoubleSpinBox控件(double_spin_box)以及一个按钮控件(button)。然后,我们在按钮控件的回调函数(on_button_click())中获取了QDoubleSpinBox控件的值,将其输出到控制台,并使用setValue()方法改变了该控件的值(每次增加0.1)。

以上是对如何使用Python的PyQt5 QDoubleSpinBox设置控件的值的介绍,希望对你有所帮助。