QLineEdit有4中显示模式可以在echoMode属性中进行更改,Normal为正常显示,NoEcho不显示任何输入,Password密码模式用*替代输入的字符显示,PasswordEchoOnEdit输入时正常显示后用密码模式显示。
可以通过设置掩码控制输入通过setInputMask,规则如下:
也可以通过验证器来限制输入,如下限制输入为1到99,也可以通过设置正则表达式来限制
QValidator* validator=new QIntValidator(1,99,this);
lineEdit->setValidator(validator);
正则表达式设置的例子:
QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}"}; //一个正则表达式类
lineEdit->setValidator(new QRegExpValidator(regExp,this));
这样它就只能输入一个A-Z的字母和一个1-9的数字加0个或1个或2个的0-9的数字.还可以通过QLineEdit::hasAcceptableInput来判断设置了检验器的行编辑器的内容的有效性。还有两个检验器分别为QIntValidator,QDoubleValidator.
特别的如果是输入Ip地址和MAC地址,那么可以如下设置:
mQlineEdit->setInputMask("000.000.000.000;_");
mQlineEdit->setInputMask("HH:HH:HH:HH:HH:HH;_");
也可以设置自动补全功能
QStringList wordList;
wordList<<"Qt"<<"Qt Create";
QComplete* complete=new QComplete(wordList,this);
complete->setCaseSensitivity(Qt::CaseInsensitive);
mLineEdit->setCompleter(complete);
通过QLineEdit的addAction()函数来加入action,
枚举:QLineEdit::ActionPosition,描述如何显示加入到输入框中的action部件。
扫描二维码关注公众号,回复:
1931144 查看本文章
QAction* newAction=new QAction(this);
mLineEdit->addAction(newAction,QLineEdit::LeadingPosition);
更多用法看帮助文档更好