PyQt5 QSpinBox – 添加循环功能
在这篇文章中,我们将看到如何为旋转盒添加循环,当我们创建一个旋转盒时,默认情况下,当它达到最大值时,它不能再增加,同样,当它达到最小值时,也不能再减去。通过在旋转箱中加入循环,在达到最大值或最小值后,数值会自行重复。
实施步骤。
1.创建一个窗口
2.创建一个自旋盒
3.设置旋转框的范围,使其有一个额外的最小值和最大值,例如,如果我们想要0到100的值,则将范围设置为-1到101
4.4.给旋转箱添加动作,这样每次它的值发生变化时,动作就会被调用
5.在动作中得到旋转箱的当前值。在动作中获取旋转盒的当前值。
6.检查当前值是否等于最小值,然后将旋转盒的当前值设置为最大值-1
7.否则,检查当前值是否等于最大值,然后使旋转盒的当前值为最小值+1
以下是执行情况
# importing libraries
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
# setting title
self.setWindowTitle("Python ")
# setting geometry
self.setGeometry(100, 100, 600, 400)
# calling method
self.UiComponents()
# showing all the widgets
self.show()
# method for widgets
def UiComponents(self):
# creating spin box
self.spin = QSpinBox(self)
# setting geometry to spin box
self.spin.setGeometry(100, 100, 150, 40)
# setting range to the spin box
self.spin.setRange(-1, 11)
# setting prefix to spin
self.spin.setPrefix("Value : ")
# add action to this spin box
self.spin.valueChanged.connect(self.action_spin)
# method called after editing finished
def action_spin(self):
# getting current value of spin box
current = self.spin.value()
# checking if current value is minimum
if current == -1:
# setting spin box value to maximum - 1
self.spin.setValue(10)
# checking if current value is maximum
elif current == 11:
# setting spin box value to minimum + 1
self.spin.setValue(0)
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())