控制QLineEdit的輸入範圍

2021-06-14 15:12:16 字數 1440 閱讀 8793

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 實現ip輸入

工程目錄如下 建立乙個 基於qwidget 的空白工程,新增 c class 也就是 iplineedit.cpp 和 iplienedit.h 這兩個檔案,新新增的用於繼承 qlineedit 類重新寫乙個用於ip輸入的類 iplineedit.cpp 檔案內容 include iplineedi...

限制QLineEdit的數值輸入範圍

在使用qlineedit輸入數值時,經常遇到限制其範圍的需要,比如角太陽高度角範圍為 90,90 經度值範圍 180,180 方位角範圍 0,360 qt提供了qintvalidator和qdoublevalidator可以限定數值輸入範圍,如使用qintvalidator限制整數的數值範圍 例1 ...

限制QLineEdit的數值輸入範圍

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的正整數...