Lv.的博客

PyQt5 文本内容限定

复制代码
################################
# PyQt5中文网 - PyQt5全套视频教程 #
#    https://www.PyQt5.cn/     #
#         主讲: 村长            #
################################

from PyQt5.Qt import *
import sys

'''
setPlaceholderText()
placeholderText()

文本内容限定(18-150):
QValidator.Acceptable
QValidator.Intermediate
QValidator.Invalid
'''


class Validator(QValidator):
    def validate(self, num, pos):
        print(num, pos)
        try:
            if 18 <= int(num) <= 150:
                return (QValidator.Acceptable, num, pos)
            elif 1 <= int(num) <= 14:
                return (QValidator.Intermediate, num, pos)
            else:
                return (QValidator.Invalid, num, pos)
        except:
            if len(num) == 0:
                return (QValidator.Intermediate, num, pos)
            return (QValidator.Invalid, num, pos)

    def fixup(self, v_str):
        print('XXX', v_str)
        try:
            if int(v_str) < 18:
                return '18'
        except:
            return '18'


class My_int(QIntValidator):
    def fixup(self, v_str):
        print('XXX', v_str)
        try:
            if int(v_str) < 18:
                return '18'
        except:
            return '18'


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("QLineEdit-验证器 - PyQt5中文网")
        self.resize(600, 500)
        self.func_list()

    def func_list(self):
        self.func()

    def func(self):
        led = QLineEdit(self)
        led.move(150, 150)

        led1 = QLineEdit(self)
        led1.move(150, 220)

        validator = Validator()  # 这个抽象类需要子类化
        led.setValidator(validator)

        # validator2 = My_int(18,150)
        # led.setValidator(validator2)


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

    window.show()
    sys.exit(app.exec_())
复制代码

 

posted @   Avatarx  阅读(79)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
历史上的今天:
2016-05-31 SQL server插入数据后,获取自增长字段的值
2016-05-31 sqlserver 创建用户 sp_addlogin
2016-05-31 存储过程嵌套模板
2014-05-31 linux安装qwt插件linux
2014-05-31 qt超强绘图控件qwt - 安装及配置
2014-05-31 WIN7 下 Qt Creator 安装 QWT
点击右上角即可分享
微信分享提示