📜  PyQt5 QSpinbox – 如何启用接受丢弃(1)

📅  最后修改于: 2023-12-03 14:45:49.759000             🧑  作者: Mango

PyQt5 QSpinBox - 如何启用接受丢弃

在 PyQt5 中,QSpinBox 是一个输入数字的小部件,允许用户通过鼠标或键盘输入值。默认情况下,QSpinBox 接受任何用户输入的值,包括超出范围的值。然而,有时我们希望限制用户的输入,并防止接受无效的值。

启用接受丢弃

启用 QSpinBox 接受丢弃是通过设置 keyboardTracking 属性为 False 来实现的。当 keyboardTracking 属性为 False 时,QSpinBox 仅在用户确认新值时才接受用户的输入,否则会忽略用户的输入并保留原来的值。

下面是如何在代码中启用接受丢弃的示例:

from PyQt5.QtWidgets import QApplication, QMainWindow, QSpinBox, QVBoxLayout, QWidget

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

        # 创建一个 QSpinBox 实例
        self.spin_box = QSpinBox()
        self.spin_box.setRange(0, 100)  # 设置范围

        # 启用接受丢弃
        self.spin_box.setKeyboardTracking(False)

        # 创建一个布局并将 QSpinBox 添加到布局中
        layout = QVBoxLayout()
        layout.addWidget(self.spin_box)

        # 创建一个 QWidget 实例并将布局设置为主窗口的中心部件
        central_widget = QWidget()
        central_widget.setLayout(layout)
        self.setCentralWidget(central_widget)

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

在上面的示例中,我们首先创建了一个 QSpinBox 实例,并设置了范围。然后,我们通过调用 setKeyboardTracking(False) 来启用接受丢弃。最后,我们将 QSpinBox 添加到布局中,并将布局设置为主窗口的中心部件。

现在,当用户在 QSpinBox 中输入一个超出范围的值或无效的值时,QSpinBox 将仅在用户确认新值时才接受输入。否则,它将保留原来的值。

希望这个介绍对您有所帮助!