【问题标题】:QLineEdit Validation for {[A-Z] [a-z][0-9]} text input{[A-Z] [a-z][0-9]} 文本输入的 QLineEdit 验证
【发布时间】:2011-03-06 07:25:37
【问题描述】:

我想在我的应用程序中接受用户的新用户名。我希望用户名字符串仅包含 A-Za-z0-9,并且 maxLength 为 8。所以我想验证来自 QLineEdit 的输入。我浏览了文档,但我对验证器感到困惑。为此,我如何验证我的QLineEdit

【问题讨论】:

    标签: validation qt4 expression qlineedit


    【解决方案1】:

    您可以使用setInputMask 指定验证输入掩码,在您的情况下,您可以使用“N”或“n”来仅允许 A-Z、a-z 和 0-9 范围内的字符。像这样:

    lineEdit->setInputMask("nnnnnnnn;_"); // or NNNNNNNN;_
    lineEdit->setCursorPosition(0);
    

    您还可以通过设置setValidatorQValidator 实例设置为您的lineEdit。这会将lineEdit 设置为仅接受验证器将接受的输入。这将与编辑蒙版一起使用

    如果只需要限制行编辑的最大允许长度:使用setMaxLength

    lineEdit->setMaxLength(8);
    

    希望这会有所帮助,问候

    【讨论】:

    • 非常感谢您的回复。实际上使用 inputMask 它限制了其他其他键的检测。所以我希望它接受并回显任何按下的键,并且在用户输入用户名后,我想检查验证并可以显示登录成功或失败我的标准。你能给我一些使用 QRegExValidator 的代码吗?这对我会有帮助。
    • QRegExpValidator 的使用示例在 Qt docs 中的 QRegExpValidator 文档中(详细说明)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 2016-06-01
    • 1970-01-01
    相关资源
    最近更新 更多