QLineEdit使用正規表示式小剖析

2022-08-21 17:00:13 字數 1414 閱讀 7024

1.使用正規表示式檢驗qlineedit的輸入範圍(**如下):

#include

#include

qlineedit *lineedit = new qlineedit(this);

qregexp regexp("[a-za-z][1-9][0-9]");   //^[1-9][0-9]*$ 和 ^[1-9][/d]*$    

//上面的正規表示式表示只能輸入大於0的正整數

lineedit->setvalidator(new qregexpvalidator(regexp, this));

#####或者用這個

qlineedit只輸入字母和數字 收藏

qregexp regx("[a-za-z0-9]+$");

qvalidator *validator = new qregexpvalidator(regx, lined );

ui->lined->setvalidator( validator );

2.使用 qintvalidator 整型數驗證控制項控制qlineedit的輸入範圍(**如下):

#include

#include

qvalidator* validator = new qintvalidator( 100, 999, this );

qlineedit* edit = new qlineedit( this );

// 只允許 edit 輸入整數 100 到 999

edit->setvalidator( validator );

lineedit = qlineedit() 例項化乙個輸入框

lineedit =setreadonly(true) #設定為唯讀

lineedit.setdragenabled(true) #設定能接受拖放

lineedit.setmaxlength(5) #設定最大長度

lineedit.selectall() #全選

lineedit.setfocus() #得到焦點

lineedit.setinputmask("dx") #設定修飾 該輸入框必須輸入兩個字元

punctuationre = qregexp(r"[ ,;:.]") #得到乙個regexp物件 可用下面的驗證

lineedit.setvalidator(qregexpvalidator(qregexp(r"[0-9]+")),self) #設定驗證 檢驗使用者輸入內容

lineedit.emit(signal('textchanged(qstring)')) 發出 訊號 (設定為唯讀時貌似發不出 沒有具體測試)

lineedit.emit(signal(textedited(qstring)')) 發出 訊號 如果設定了驗證 該訊號在通過驗證才能發出 (設定為唯讀時貌似發不出 沒有具體測試)

QLineEdit 使用方法

在qt中,qlineedit是文字編輯框控制項,是比較基礎且常用的控制項的之一,下面是其的一些基本操作。比如 禁用或啟用該控制項 lineedit is the object name of qlineedit ui lineedit.setdisabled false ui lineedit.se...

用正規表示式對qlineedit的輸入引數進行校驗

用正規表示式對qlineedit的輸入引數進行校驗有兩種方式 1.在建構函式中寫如下 qstring pattern w qregexp rx pattern m inputvalidator new qregexpvalidator rx,this m pui projectname setval...

QLineEdit 訊號函式使用說明

1.qlineedit訊號函式一共有六個。一起的時候是使用ui自帶的 轉到槽 功能。結果發現系統寫的函式有點醜,不太符合公司的編碼規定。系統編寫的槽函式,沒有直接知名使用connnect,但其將繫結資訊寫在moc cpp檔案中。主要符合系統命名規則,即可省略connect函式。void on lin...