天天看點

Qt之行編輯器

行編輯器是一個單行的文本編輯器,允許使用者輸入和編輯單行的純文字内容。

一、顯示模式:

Normal:正常顯示

NoEcho:不顯示任何輸入

PassWord:密碼樣式,以黑點代替顯示

PasswordEchoOnEdit:編輯時正常,其餘以密碼樣式顯示

二、輸入掩碼

目的:限制輸入的内容,可使用一些特殊字元設定輸入的格式和内容

Qt之行編輯器

例如:将一個文本框屬性inputMask設定為">AA-90-bb-! aa\#;*"

Qt之行編輯器

即按照上述掩碼表中的格式進行輸入才可以,否則按回車是不起作用的。

在一個label上右擊轉到槽,添加

void MyWidget::on_lineEdit2_returnPressed()      
{      
ui -> lineEdit3 -> setFocus();                         //輸完後跳到lineEdit3      
qDebug()<<ui -> lineEdit2-> text();      
qDebug()<<ui -> lineEdit2 -> displayText();      
}      

三、輸入驗證

在cpp檔案中添加

QValidator * validator = new QIntValidator(100,999,this);    //輸入限制為100 ~ 999      
ui -> lineEdit3 -> setValidator(validator);      

四、自動補全

在類的構造函數中添加

QStringList wordlist;      
wordlist<<"Qt"<<"Qt Creator"<<QObject::tr("Hello!");//當輸入首字母時,有補全提示      
QCompleter * completer = new QCompleter(wordlist,this);         //建立自動完成器材      
completer -> setCaseSensitivity(Qt::CaseSensitive);   //區分大小寫   CaseInsensitive不區分大小寫      
ui -> lineEdit4 -> setCompleter(completer);      
Qt之行編輯器