QLineEdit验证{[AZ] [az] [0-9]}文本输入

Sur*_*dhi 3 validation expression qt4 qlineedit

我想在我的应用程序中接受用户的新用户名.我希望用户名字符串只包含A-Zor a-z0-9,并且maxLength为8.所以我想验证来自的输入QLineEdit.我浏览了文档,但是我对验证器搞砸了.我如何验证我QLineEdit的目的?

ser*_*nko 7

您可以使用setInputMask指定验证输入掩码,在您的情况下,您可以使用"N"或"n"仅允许AZ,az和0-9范围内的字符.这样的事情:

lineEdit->setInputMask("nnnnnnnn;_"); // or NNNNNNNN;_
lineEdit->setCursorPosition(0);
Run Code Online (Sandbox Code Playgroud)

您还可以通过set 将QValidator实例设置为您的实例.这将设置为仅接受验证器将接受的输入.这将与编辑掩码一起使用lineEditsetValidatorlineEdit

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

lineEdit->setMaxLength(8);
Run Code Online (Sandbox Code Playgroud)

希望这有帮助,问候

  • QRegExpValidator的示例用法在Qt docs的QRegExpValidator文档中(详细说明) (2认同)