Qt 設置QLineEdit控件不可編輯、密文輸入、輸入格式等小技巧


1、設置不可編輯

1 setReadOnly(false); 2 //
3 setEnabled(false); 4 //
5 setFocusPolicy(Qt::NoFocus);//無法獲得焦點,自然無法輸入,其他文本控件類似 6 //
7 hasAcceptableInput(false);

2.setPlaceholderText()設置提示文字
如圖,搜索輸入框,沒有輸入任何字符時,顯示“搜索”,對用戶輸入作相關提示。
這里寫圖片描述

3、密文輸入

setEchoMode(QLineEdit::Password);

4、輸入格式控制

setInputMask("0000-00-00 00:00");

5、設置可以輸入的最多字符數

LineEdit->setMaxLength(9);//最多輸入9個字符

6、設置文本對齊方式

1 lineedit->setAlignment(Qt::AlignLeft)//左對齊 
2 lineedit->setAlignment(Qt::AlignRight)//右對齊 
3 lineedit->setAlignment(Qt::AlignCenter)//居中對齊 

7、設置輸入規范
這個是通過設置 QValidator來進行控制, QValidator有很多派生類,如QIntValidator和QDoubleValidator等,以這兩個為例介紹:
QIntValidator :

1     QIntValidator r( 0, 100, this );//第一、第二個參數為范圍,第三個參數為父對象,指定父對象Qt會自動回收空間
2     QLineEdit* edit = new QLineEdit( this ); 3 
4     // 這個行編輯只接受從0到100的整數
5     edit->setValidator( &r );

QDoubleValidator:

1 //前兩個參數與QIntValidator一樣,第三個參數為精度,小數點后幾位,第四個參數為父對象
2 QDoubleValidator *my = new QDoubleValidator(-250.0,290.0,2,this); 3 QLineEdit* edit = new QLineEdit( this ); 4 edit->setValidator( &my ); 

使用正則:

1 QRegExp regx("[1-9][0-9]+$"); 2 QValidator *validator = new QRegExpValidator(regx, ui->lineEdit ); 3 lineEdit->setValidator(validator); 4 lineEdit的第一個數是1-9的,第二個數和之后的是0-9的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM