PyQt5 QSpinBox
是用于用户设置整数的组件。它在 PyQt5.QtWidgets
模块中,并且非常易于使用。
创建 QSpinBox
对象
要在 Python 中使用 PyQt5 QSpinBox
,首先需要创建 QSpinBox
对象。可以通过以下代码行来创建:
spin_box = QSpinBox()
这将在你的应用程序中创建一个新的 QSpinBox
对象实例。你可以使用该对象来访问和设置有关 QSpinBox
组件的各种属性和方法。
为了使 QSpinBox
控件可视化,可以使用以下代码将其添加到父QWidget:
parent_layout.addWidget(spin_box)
这将使 QSpinBox 出现在其父 QWidget 中的布局中。
设置 QSpinBox
的范围
要设置 QSpinBox
控件允许的最小值和最大值,可以使用以下代码行:
spin_box.setMinimum(0)
spin_box.setMaximum(100)
这将在 spin_box 组件中设置最小值为 0,最大值为 100。
设置 QSpinBox
的当前值
要设置 QSpinBox
的当前值,可以使用以下代码行:
spin_box.setValue(50)
这将设置 spin_box
的当前值为 50。
获取 QSpinBox
的当前值
要获取 QSpinBox
的当前值可以使用以下代码行:
current_value = spin_box.value()
这将返回 spin_box
的当前值。
示例说明
以下是两个示例,说明如何使用 PyQt5 QSpinBox
:
示例一:
如下示例中,使用 QSpinBox
创建了一个简单的窗口并设置范围和初始值。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QSpinBox, QVBoxLayout
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout()
self.spin_box = QSpinBox()
self.spin_box.setMinimum(0)
self.spin_box.setMaximum(100)
self.spin_box.setValue(50)
vbox.addWidget(self.spin_box)
self.setLayout(vbox)
self.setWindowTitle('My App')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
该应用程序窗口将包含一个 QSpinBox
,其值在 0 和 100 之间,初始值为 50。
示例二:
如下示例中,使用 QSpinBox
创建一个可在窗口上单击按钮时增加或减少计数器的应用程序。
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout, QVBoxLayout, QSpinBox
import sys
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
VBox = QVBoxLayout()
hbox = QHBoxLayout()
self.counter = QSpinBox()
self.counter.setMinimum(0)
self.counter.setMaximum(100)
increase_btn = QPushButton("+")
increase_btn.clicked.connect(self.increase_counter)
hbox.addWidget(increase_btn)
decrease_btn = QPushButton("-")
decrease_btn.clicked.connect(self.decrease_counter)
hbox.addWidget(decrease_btn)
VBox.addWidget(self.counter)
VBox.addLayout(hbox)
self.setLayout(VBox)
self.setWindowTitle("My App")
self.show()
def increase_counter(self):
current_value = self.counter.value()
self.counter.setValue(current_value + 1)
def decrease_counter(self):
current_value = self.counter.value()
self.counter.setValue(current_value - 1)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
该应用程序的窗口将包含一个 QSpinBox
和两个 QPushButton
。每当单击增加或减少按钮时,计数器的值都会相应地增加或减少。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QSpinBox – 设置值 - Python技术站