1. 程式人生 > >Qt學習之QLineEdit使用總結

Qt學習之QLineEdit使用總結

簡介

QLineEdit是一個單行文字編輯控制元件。

使用者可以通過很多函式,輸入和編輯單行文字,比如撤銷、恢復、剪下、貼上以及拖放等。

通過改變QLineEdit的 echoMode() ,可以設定其屬性,比如以密碼的形式輸入。

文字的長度可以由 maxLength() 限制,可以通過使用 validator() 或者 inputMask() 可以限制它只能輸入數字。在對同一個QLineEdit的validator或者input mask進行轉換時,最好先將它的validator或者input mask清除,以避免錯誤發生。

與QLineEdit相關的一個類是QTextEdit,它允許多行文字以及富文字編輯。

我們可以使用 setText() 或者 insert() 改變其中的文字,通過 text() 獲得文字,通過 displayText() 獲得顯示的文字,使用 setSelection() 或者 selectAll() 選中文字,選中的文字可以通過cut()、copy()、paste()進行剪下、複製和貼上,使用 setAlignment() 設定文字的位置。

文字改變時會發出 textChanged() 訊號;如果不是由setText()造成文字的改變,那麼會發出textEdit()訊號;滑鼠游標改變時會發出cursorPostionChanged()訊號;當返回鍵或者回車鍵按下時,會發出returnPressed()訊號。

當編輯結束,或者LineEdit失去了焦點,或者當返回/回車鍵按下時,editFinished()訊號將會發出。

用法例項

1.setPlaceholderText()設定提示文字

豆瓣電影的搜尋輸入框,沒有輸入任何字元時,顯示“電影、影人、影院、電視劇”這些佔位文字,對使用者輸入作相關提示。

echoLineEdit->setPlaceholderText("電影、影人、影院、電視劇");

2.setEchoMode()設定模式

switch (index) {case 0://預設,輸入什麼即顯示什麼echoLineEdit->setEchoMode(QLineEdit::Normal);break
;case 1://密碼,一般是用小黑點覆蓋你所輸入的字元echoLineEdit->setEchoMode(QLineEdit::Password);break;case 2://編輯時輸入字元顯示輸入內容,否則用小黑點代替echoLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);break;case 3://任何輸入都看不見(只是看不見,不是不能輸入)echoLineEdit->setEchoMode(QLineEdit::NoEcho);}

3.setAlignment()設定文字位置

switch (index) {case 0:alignmentLineEdit->setAlignment(Qt::AlignLeft);break;case 1:alignmentLineEdit->setAlignment(Qt::AlignCenter);break;case 2:alignmentLineEdit->setAlignment(Qt::AlignRight);}

4.setReadOnly()設定能否編輯

switch (index) {case 0:accessLineEdit->setReadOnly(false);break;case 1:accessLineEdit->setReadOnly(true);}

5.setValidator()對輸入進行限制

這種方式的實質是通過正則表示式限制輸入的內容。

switch (index) {case 0://無限制validatorLineEdit->setValidator(0);break;case 1://只能輸入整數validatorLineEdit->setValidator(new QIntValidator(validatorLineEdit));break;case 2://例項,只能輸入-180到180之間的小數,小數點後最多兩位(可用於限制經緯度等)QDoubleValidator *pDfValidator = new QDoubleValidator(-180.0, 180.0 , 2, validatorLineEdit);pDfValidator->setNotation(QDoubleValidator::StandardNotation);validatorLineEdit->setValidator(pDfValidator);}

6.setInputMask()對輸入進行限制

switch (index) {case 0:inputMaskLineEdit->setInputMask("");break;case 1:inputMaskLineEdit->setInputMask("+99 99 99 99 99;_");break;case 2:inputMaskLineEdit->setInputMask("0000-00-00");inputMaskLineEdit->setText("00000000");inputMaskLineEdit->setCursorPosition(0);break;

相關推薦

Qt學習QLineEdit使用總結

簡介QLineEdit是一個單行文字編輯控制元件。使用者可以通過很多函式,輸入和編輯單行文字,比如撤銷、恢復、剪下、貼上以及拖放等。通過改變QLineEdit的 echoMode() ,可以設定其屬性,比如以密碼的形式輸入。文字的長度可以由 maxLength() 限制,可以

Qt 學習記憶體洩露 總結

一、簡介   Qt記憶體管理機制:Qt 在內部能夠維護物件的層次結構。對於可視元素,這種層次結構就是子元件與父元件的關係;對於非可視元素,則是一個物件與另一個物件的從屬關係。在 Qt 中,在 Qt 中,刪除父物件會將其子物件一起刪除。    C++中delete 和 new 必須

QT學習forward declaration of 'struct Ui::xxx';invalid use of incomplete struct "Ui::Widget"

文件 exceptio 錯誤 執行 類名 nbsp dia dial truct 解決QT:forward declaration of ‘struct Ui::xxx‘;invalid use of incomplete struct "Ui::Widget" 等莫名奇妙

輕松入門機器學習概念總結(二)

消息 目的 作者 固定 erp 效率 dev 常用 度量 歡迎大家前往雲加社區,獲取更多騰訊海量技術實踐幹貨哦~ 作者:許敏 接上篇:機器學習概念總結筆記(一) 8)邏輯回歸 logistic回歸又稱logistic回歸分析,是一種廣義的線性回歸分析模型,常用於數據挖掘

Qt 學習路 2(40):隱式數據共享

深拷貝和淺拷貝 != 這樣的 pointer map painter pos 轉載 多線程 博客轉載自:https://www.devbean.net/2013/01/qt-study-road-2-implicit-sharing/ Qt 中許多 C++ 類使用了隱式數據

python基礎學習days1總結

空格 python基礎 learn The 輸出格式 語句 take get 引號 一、轉義字符的使用 在實際應用中,我們可能要引用別人的話或使用英文縮寫,這種時候,在print()函數中,要想將引號作為字符打印出來,就得用到轉義字符 “ \ ”了。 例如,當我們打印 He

QT學習QString的arg方法

QT中QString類似於C的printf中的格式輸出符。 1 使用arg(str1,str2,str3) 這種方法要求str1、str2、str3都為const QString &型別,即: QString QString::arg(const QString &

Qt 學習路 2(42):QListWidget、QTreeWidget 和 QTableWidget

上一章我們瞭解了 model/view 架構的基本概念。現在我們從最簡單的QListWidget、QTreeWidget和QTableWidget三個類開始瞭解最簡單的 model/view 的使用。這部分內容的確很難組織。首先,從最標準的 model/view 開始,往往會糾結於複雜的程式碼;但是

Qt學習如何用程式碼實現UI佈局及顯示

本文以Qtableview為例進行說明。 Qtableview是一個表格類,可以使用這個類來設定表格,進行內容的顯示、增刪、查詢等等。 首先:正常建立一個Qt Widget Application專案。 mainwindow.h public: explicit MainWi

0.0 開啟自己的QT學習

2008年左右接觸過一段時間的QT,感覺到了QT的方便快捷,之前我是做JAVA的,不過C++也還能看得懂,一共用QT開發了3個月左右的時間,一直是公司的同事帶著做。N年過去了,QT忘得差不多了,QT也有了很大的發展,現在重新學習是為了之後的工作。 打算用一個周的時間學完QT,達到能開發和看懂QT

【介面測試】介面測試學習資料總結

一、什麼是介面? 應用程式介面(Application Programming Interface,簡稱:API),又稱為應用程式設計介面。通俗講就是HTTP請求。   二、介面型別 介面一般分為兩種: 1、程式內部的介面 2、系統對外的介面 &

QT學習路---訊號與槽問題解析

前兩天用到了QT的訊號與槽這個機制,剛開始發射訊號的時候,我是這麼寫的語句 connect(sender,SINGAL(),receiver,SLOT()) 由於我用的是QT 5.11這個本,從網上查到的例子來說,大部分都是以上那個形式,也沒有問題,而實際上在QT5.11版本上,向下面這樣寫

weifu的qt學習

1、寫入文字檔案 使用文字檔案輸出的步驟:         1)包含標頭檔案fstream         2)建立一個ofstream物件         3)將該ofstream物件同一個檔案關聯起來。 關聯的方法:ofstream物件.open("文字檔名")

Android學習動畫總結(一)

寫在前面:本文是根據hencoder提供的教程寫的總結。HenCoder https://hencoder.com。        Android裡動畫可以分為兩類:Animation和Transition,其中Animation又可以分為View Animation和Pr

Android學習動畫總結(二)

寫在前面:本文是根據hencoder提供的教程寫的總結。HenCoder https://hencoder.com。      關於ObjectAnimator可以用ofInt()來做整數的屬性動畫和ofFloat()來做小數的屬性動畫。當需要對其他型別的屬性來做動畫就需要

Qt 學習之路 2(19):事件的接受與忽略(當重寫事件回撥函式時,時刻注意是否需要通過呼叫父類的同名函式來確保原有實現仍能進行!有好幾個例子。為什麼要這麼做?而不是自己去手動呼叫這兩個函式呢?因為我們無法確認父類中的這個處理函式有沒有額外的操作)

版本: 2012-09-29 2013-04-23 更新有關accept()和ignore()函式的相關內容。 2013-12-02 增加有關accept()和ignore()函式的示例。 上一章我們介紹了有關事件的相關內容。我們曾經提到,事件可以依情況接受和忽略。現在,我們就

QT學習資料部落格:《Qt 實戰一二三》和《Qt 學習路 2》等

參考原貼 https://blog.csdn.net/dpsying/article/details/80615320 目的:僅供自己學習,並無他用。 參考書目: 1《Qt5開發及例項》(Qt 5.8為平臺)         

Qt學習路_12(簡易資料管理系統)

前言   最近從大陸來到臺灣,之間雜事很多,擠不出時間來更新部落格…   這次主要是通過做一個簡易的資料庫管理系統,來學習在Qt中對資料庫,xml,介面的各種操作,進一步熟悉Qt。一般而言資料通常存在檔案,資料庫,xml中,本文主要是介紹了sqlite,xml這2種儲存資料的方法,實現了一個家用電器產

Qt學習QString與string的相互轉換

#ifndef GLOBAL_H_CSX #define GLOBAL_H_CSX #include <string> #include <QString> using namespace std; extern QString g_layout;

Qt 學習路---安裝篇】QT5.7.1+VS2013軟體開發環境配置

參考:https://blog.csdn.net/liushuiwen101423/article/details/70882534 安裝任務:完成Qt5.7.1載入到VS2013環境下,程式設計執行Qt應用程式,有詳細步驟,最後完成一個空白視窗UI執行顯示1.基本配置PC