其他分享
首页 > 其他分享> > 7.2 QSpinBox整型步长调节器

7.2 QSpinBox整型步长调节器

作者:互联网

一、QSpinBox整型步长调节器

1.基本概念

*用来调节整型数据的,主要讲解QSpinBox的一些常用的API方法,主要有步长范围,数支循环、前缀后缀、设置和获取值的方法等。

* 设置数值范围
* 设置前缀后缀
* 获取和设置文本框的值

2.代码

from PyQt5.Qt import *
import sys

# 子类继承QSpinBox
class Qsb(QSpinBox) :
    def textFromValue(self, val) :
        #return (str(val) + '*' + str(val))
        return (str(val))


class Window(QWidget) :
    def __init__(self) :
        super().__init__()
        self.setWindowTitle("QSpinBox-处理整形数据的步长调节器 - PyQt5中文网")
        self.resize(600, 500)
        self.func_list()

    def func_list(self) :
        self.func()

    def func(self) :
        self.qsb = Qsb(self)  # 直接构造范围是0-99
        self.qsb.resize(100, 30)
        self.qsb.move(150, 150)

        self.btn = QPushButton('按钮', self)
        self.btn.resize(60, 30)
        self.btn.move(150, 200)
        self.btn.pressed.connect(self.test)
    #按下按钮,触发槽函数
    def test(self) :

        # 1修改最大值
        # self.qsb.setMaximum(0)
        # self.qsb.setMinimum(8)
        # print(self.qsb.minimum())
        self.qsb.setRange(0,6)
        #self.qsb.setRange(1,12)

        # 2数值循环
        self.qsb.setWrapping(True) #从最大值到最小值之间循环

        # 3设置步长
        self.qsb.setSingleStep(1)

        # 4设置前缀和后缀:周一-日 1月-2月 在上面设置数值范围
        self.qsb.setPrefix('周')  #前缀
        # self.qsb.setSuffix('月') #后缀
        self.qsb.setSpecialValueText('周日')  # 设置最小值字符串:将最小值替换成周日

        # # 5显示数值进制
        #self.qsb.setDisplayIntegerBase(2)  # 设置成二进制

        # 6获取或设置文本框数值
        # self.qsb.setRange(1,25)  # 这里设置之后下面数值设置超过范围内则显示这里的最大值 最小值
        # self.qsb.setValue(50)
        print(self.qsb.value())  # 只能拿到数值
        print(self.qsb.text())  # 能拿到数值和前缀
        print(self.qsb.lineEdit().text())  # 能拿到数值和前缀
        #
        # 7自定义展示格式,重写方法,在上面Qsb中

        # 8可用信号
        self.qsb.valueChanged[int].connect(lambda val : print(val))
        self.qsb.valueChanged[str].connect(lambda val : print(val))


if __name__ == '__main__' :
    app = QApplication(sys.argv)
    window = Window()

    window.show()
    sys.exit(app.exec_())

标签:__,qsb,val,QSpinBox,self,7.2,步长,设置,print
来源: https://www.cnblogs.com/yuyingblogs/p/16129445.html