📅  最后修改于: 2023-12-03 15:04:44.189000             🧑  作者: Mango
在 PyQt5 中,QSpinBox 是一种用于输入数字值的小部件。当用户更改这个部件上的值时,会发出一个 QSpinBox.valueChanged 信号,可以使用它来捕获值的变化并执行操作。
例如,以下代码演示了如何创建一个 QSpinBox,当用户更改值时,在控制台打印该值:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QSpinBox
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.spin_box = QSpinBox(self)
self.spin_box.move(50, 50)
self.spin_box.valueChanged.connect(self.handle_value_changed)
def handle_value_changed(self, value):
print(f"Value changed to {value}")
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
在这个例子中,我们创建了一个 QSpinBox,当用户更改值时,handle_value_changed
函数会打印该值。我们通过 valueChanged
信号连接这个函数,这表示每次值发生更改时,函数会自动被调用。
以上代码需要在 QApplication
事件循环中运行,因此我们创建一个 QApplication
对象,并通过 sys.exit(app.exec_())
使程序保持运行状态,直到所有窗口都被关闭。
QSpinBox 是一个非常有用的小部件,适合用于要求用户输入数字的场合。使用 PyQt5 的信号和槽机制,可以轻松地捕获 QSpinBox 值的变化,并作出相应的操作。