PyQt5 控件学习(一个一个学习之QSpinBox)
QSpinBox的继承图:
QSpinBox的描述:
它主要的作用是处理整数和离散的数值集 。
QSpinBox的继承:
它继承自QAbstractSpinBox
QSpinBox的功能作用:
QSpinBox的功能作用之构造函数:
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): spinBox = QSpinBox(self) spinBox.resize(100,30) spinBox.move(100,100) # 默认情况下的数值范围是 0- 99 if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之设置数值范围:
默认的范围是 0 -99
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) self.test() def test(self): ############################设置最大最小值 ############################### # self.spinBox.setMaximum(200) # self.spinBox.setMinimum(-100) # # print(self.spinBox.maximum()) # print(self.spinBox.minimum()) self.spinBox.setRange(-100,200) #注:它这个两边都是可以取到的 self.spinBox.setAccelerated(True) ############################设置最大最小值 ############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之数值循环:
这类似于播放列表 。
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################数值循环############################### print(self.spinBox.wrapping()) self.spinBox.setWrapping(True) print(self.spinBox.wrapping()) ############################数值循环############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之设置步长:
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################设置步长############################### self.spinBox.setSingleStep(10) print(self.spinBox.singleStep()) ############################设置步长############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之前缀和后缀:
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################设置前缀和后缀############################### # ########################################################### # self.spinBox.setRange(1,12) # self.spinBox.setSuffix("月") #后缀 # # ########################################################### #后缀 self.spinBox.setRange(0,6) self.spinBox.setPrefix("周") #这时在最小值的时候就是周0 了,这样不行的 ,要用到下个方法:下面看 ############################设置前缀和后缀############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之最小值特殊文本:
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################最小值特殊文本############################### #后缀 self.spinBox.setRange(0,6) self.spinBox.setPrefix("周") #这时在最小值的时候就是周0 了,这样不行的 ,要用到下个方法:下面看 self.spinBox.setSpecialValueText("周日") ############################最小值特殊文本############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之显示基数(进制):
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################显示基数(进制)############################### self.spinBox.setDisplayIntegerBase(2) # 2进制 self.spinBox.setDisplayIntegerBase(3) # 3进制 print(self.spinBox.displayIntegerBase()) ############################显示基数(进制)############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之设置和获取数值:
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################设置和获取数值############################### # self.spinBox.setValue(66) print(self.spinBox.value()) ############################设置和获取数值############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################设置和获取数值############################### # self.spinBox.setValue(66) self.spinBox.setPrefix("星期") print(self.spinBox.value()) #此时并没有获取前缀,只是 数值 print(self.spinBox.text()) print(self.spinBox.lineEdit().text()) ############################设置和获取数值############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
QSpinBox的功能作用之自定义展示格式:
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class MySpinBox(QSpinBox): def textFromValue(self, p_int): print(p_int) return str(p_int) +'*'+str(p_int) class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = MySpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) def test(self): ############################自定义展示格式############################### # self.spinBox.setValue(66) self.spinBox.setPrefix("星期") print(self.spinBox.value()) #此时并没有获取前缀,只是 数值 print(self.spinBox.text()) print(self.spinBox.lineEdit().text()) ############################自定义展示格式############################### if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
这里改变的只是展示
QSpinBox的信号:
from PyQt5.Qt import * #刚开始学习可以这样一下导入 import sys class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle("QSpinBox 的学习") self.resize(400,400) self.set_ui() def set_ui(self): self.spinBox = QSpinBox(self) self.spinBox.resize(100,30) self.spinBox.move(100,100) btn = QPushButton(self) btn.setText("按钮") btn.move(0,300) btn.clicked.connect(lambda :self.test()) ############################信号############################### # self.spinBox.valueChanged.connect(lambda val:print(type(val),val)) self.spinBox.valueChanged[str].connect(lambda val:print(type(val),val)) ############################信号############################### def test(self): pass if __name__ == '__main__': app =QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
总结:
以上就是整形的步长调节器 ,下面是 浮点型的步长调节器QDoubleSpinBox: