📜  PyQt5 QSpinBox – 设置最大值(1)

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

PyQt5 QSpinBox - 设置最大值

PyQt5是一款用于创建Python GUI应用程序的工具包。它提供了多种小部件(如QSpinBox)来创建不同类型的用户界面元素。QSpinBox是一种小部件,用于允许用户通过向上和向下箭头以固定增量更改数字值。在本教程中,我们将讨论如何设置QSpinBox的最大值。

设置QSpinBox的最大值

要设置QSpinBox的最大值,我们需要使用setMax()方法。setMax()方法需要一个整数作为参数,它将设置QSpinBox的最大值。下面是一个简单的代码片段,用于设置QSpinBox的最大值为100:

spin_box = QSpinBox()
spin_box.setMaximum(100)

同时,你还可以通过将QSpinBox的最小值设置为比最大值小的值,来限制用户在某个范围内选择数字值。以下代码片段将演示如何设置QSpinBox的最大值为100,最小值为0:

spin_box = QSpinBox()
spin_box.setMinimum(0)
spin_box.setMaximum(100)
完整示例代码

下面是一个完整的Python程序,其演示了如何设置QSpinBox的最大值和最小值:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QSpinBox, QLabel

class Example(QWidget):

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

        self.initUI()

    def initUI(self):

        # 创建一个垂直布局
        vbox = QVBoxLayout()

        # 创建一个QSpinBox小部件
        spin_box = QSpinBox()

        # 设置QSpinBox的最小值和最大值
        spin_box.setMinimum(0)
        spin_box.setMaximum(100)

        # 创建一个标签
        label = QLabel(self)

        # 当QSpinBox的值更改时,调用onChanged方法
        spin_box.valueChanged.connect(lambda: self.onChanged(spin_box, label))

        # 将QSpinBox和标签添加到垂直布局中
        vbox.addWidget(spin_box)
        vbox.addWidget(label)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 300, 150)
        self.setWindowTitle('PyQt5 QSpinBox')
        self.show()

    # 当QSpinBox的值更改时,更新标签的文本
    def onChanged(self, spin_box, label):
        label.setText('当前值为:{}'.format(spin_box.value()))

if __name__ == '__main__':

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

在这个示例程序中,QSpinBox的范围已被限制在0到100之间。当用户选择一个新的数字值时,标签的文本将被更新以反映该值。你可以尝试在您的计算机上运行这个程序,并尝试选择不同的数字值,查看标签的文本如何更新。

在本教程中,我们学习了如何使用PyQt5设置QSpinBox的最大值和最小值。我们还演示了一个完整的Python程序,该程序演示了如何使用QSpinBox在窗口中显示新的数字值。现在你可以使用此知识来创建自己的PyQt5小部件并在程序中使用它们。