QLineEdit 一般用法

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部件。

QAction* newAction=new QAction(this);
mLineEdit->addAction(newAction,QLineEdit::LeadingPosition);
更多用法看帮助文档更好


猜你喜欢

转载自blog.csdn.net/weixin_38893389/article/details/80814583