1.QSpinBox简介
QSpinBox是计数器控件,允许用户输入整数,或者通过上下按键递增或者递减,默认调整范围是0-99,每次变化步数1,用户可以自行修改范围和步数;
QSpinBox常用方法如下:
QSpinBox信号:
二、实例
1. QT Designer设计UI
复制“ pyqt5快速上手基础篇8-菜单栏、工具栏和状态栏“中image文件夹内容和action_tool.ui,并修改action_tool.ui名字为spinbox.ui,用Qt Designer打开如下所示:
增加一个QSpinBox
2 将*.ui转换为ui_spinbox.py
进入run.py目录,输入如下命令:
pyuic5 -o ui_spinbox.py spinbox.ui
3 程序
# encoding=utf-8
import sys
import PyQt5.QtWidgets as qw
import ui_spinbox
# sys.setrecursionlimit(1000000)
class myForm(qw.QMainWindow, ui_spinbox.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.statusbar.showMessage("status:ok")
# spinbox1
self.spinBox.setRange(-10, 100)
self.spinBox.setSingleStep(10)
self.spinBox.setValue(10)
self.spinBox.setWrapping(True)
# spinbox2
self.spinBox_2.setRange(-10, 100)
self.spinBox_2.setSingleStep(10)
self.spinBox_2.setValue(10)
self.spinBox_2.setWrapping(True)
self.spinBox_2.setPrefix("前缀君")
self.spinBox_2.setSuffix("后缀君")
self.spinBox.valueChanged.connect(self.spinBox_cb)
self.spinBox_2.valueChanged.connect(self.spinBox2_cb)
def spinBox_cb(self, value):
print("spinbox1's current value is ", value)
def spinBox2_cb(self, value):
print("spinbox2's current value is ", value)
if __name__ == '__main__':
app = qw.QApplication(sys.argv)
w1 = myForm()
w1.show()
app.exec_()
上述程序为主页面的spinbox valueChanged信号对应的槽函数,槽函数中显示当前spinBox数值,同时为spinbox2增加前后缀,实现多样化显示。
三、运行
进入文件目录,输入python3 run.py,即可弹出上述用QT Designer设计出来的MainWindow页面。