获取spinBox的值并每秒减一
时间: 2023-10-25 21:06:45 浏览: 67
以下是Python的示例代码,可以获取spinBox的值并每秒递减一:
```python
from PyQt5.QtWidgets import QApplication, QSpinBox, QWidget, QVBoxLayout, QLabel
from PyQt5.QtCore import QTimer
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('SpinBox Example')
self.layout = QVBoxLayout()
self.spinBox = QSpinBox()
self.layout.addWidget(self.spinBox)
self.label = QLabel()
self.layout.addWidget(self.label)
self.setLayout(self.layout)
self.timer = QTimer(self)
self.timer.timeout.connect(self.updateSpinBoxValue)
self.timer.start(1000)
def updateSpinBoxValue(self):
value = self.spinBox.value()
if value > 0:
value -= 1
self.spinBox.setValue(value)
self.label.setText('Current value: {}'.format(value))
else:
self.timer.stop()
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个例子中,我们首先创建了一个QSpinBox对象,并将其添加到窗口的布局中。然后,我们创建了一个QLabel对象,用于显示当前spinBox的值。接下来,我们设置了一个计时器,该计时器每秒触发一次updateSpinBoxValue函数。在updateSpinBoxValue函数中,我们获取spinBox的当前值,将其递减1,并将新值设置回spinBox对象。最后,我们更新标签以显示新值。如果值已经为0,则停止计时器。
阅读全文