QLineEdit 類

QLineEdit 小部件是 1 行文本編輯器。 更多...

頭: #include <QLineEdit>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
繼承: QWidget

公共類型

enum ActionPosition { LeadingPosition, TrailingPosition }
enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit }

特性

公共函數

QLineEdit (QWidget * parent = nullptr)
QLineEdit (const QString & contents , QWidget * parent = nullptr)
virtual ~QLineEdit ()
void addAction (QAction * action , QLineEdit::ActionPosition position )
QAction * addAction (const QIcon & icon , QLineEdit::ActionPosition position )
Qt::Alignment alignment () const
void backspace ()
QCompleter * completer () const
QMenu * createStandardContextMenu ()
void cursorBackward (bool mark , int steps = 1)
void cursorForward (bool mark , int steps = 1)
Qt::CursorMoveStyle cursorMoveStyle () const
int cursorPosition () const
int cursorPositionAt (const QPoint & pos )
void cursorWordBackward (bool mark )
void cursorWordForward (bool mark )
void del ()
void deselect ()
QString displayText () const
bool dragEnabled () const
QLineEdit::EchoMode echoMode () const
void end (bool mark )
bool hasAcceptableInput () const
bool hasFrame () const
bool hasSelectedText () const
void home (bool mark )
QString inputMask () const
void insert (const QString & newText )
bool isClearButtonEnabled () const
bool isModified () const
bool isReadOnly () const
bool isRedoAvailable () const
bool isUndoAvailable () const
int maxLength () const
QString placeholderText () const
QString selectedText () const
int selectionEnd () const
int selectionLength () const
int selectionStart () const
void setAlignment (Qt::Alignment flag )
void setClearButtonEnabled (bool enable )
void setCompleter (QCompleter * c )
void setCursorMoveStyle (Qt::CursorMoveStyle style )
void setCursorPosition (int)
void setDragEnabled (bool b )
void setEchoMode (QLineEdit::EchoMode)
void setFrame (bool)
void setInputMask (const QString & inputMask )
void setMaxLength (int)
void setModified (bool)
void setPlaceholderText (const QString &)
void setReadOnly (bool)
void setSelection (int start , int length )
void setTextMargins (const QMargins & margins )
void setTextMargins (int left , int top , int right , int bottom )
void setValidator (const QValidator * v )
QString text () const
QMargins textMargins () const
const QValidator * validator () const

重實現公共函數

virtual bool event (QEvent * e ) override
virtual QVariant inputMethodQuery (Qt::InputMethodQuery property ) const override
virtual QSize minimumSizeHint () const override
virtual QSize sizeHint () const override
virtual void timerEvent (QTimerEvent * e ) override

公共槽

void clear ()
void copy () const
void cut ()
void paste ()
void redo ()
void selectAll ()
void setText (const QString &)
void undo ()

信號

void cursorPositionChanged (int oldPos , int newPos )
void editingFinished ()
void inputRejected ()
void returnPressed ()
void selectionChanged ()
void textChanged (const QString & text )
void textEdited (const QString & text )

保護函數

QRect cursorRect () const
virtual void initStyleOption (QStyleOptionFrame * option ) const

重實現保護函數

virtual void changeEvent (QEvent * ev ) override
virtual void contextMenuEvent (QContextMenuEvent * event ) override
virtual void dragEnterEvent (QDragEnterEvent * e ) override
virtual void dragLeaveEvent (QDragLeaveEvent * e ) override
virtual void dragMoveEvent (QDragMoveEvent * e ) override
virtual void dropEvent (QDropEvent * e ) override
virtual void focusInEvent (QFocusEvent * e ) override
virtual void focusOutEvent (QFocusEvent * e ) override
virtual void inputMethodEvent (QInputMethodEvent * e ) override
virtual void keyPressEvent (QKeyEvent * event ) override
virtual void keyReleaseEvent (QKeyEvent * e ) override
virtual void mouseDoubleClickEvent (QMouseEvent * e ) override
virtual void mouseMoveEvent (QMouseEvent * e ) override
virtual void mousePressEvent (QMouseEvent * e ) override
virtual void mouseReleaseEvent (QMouseEvent * e ) override
virtual void paintEvent (QPaintEvent *) override

詳細描述

行編輯允許用戶采用有用編輯功能 (包括撤消/重做、剪切/粘貼、及拖放),錄入和編輯單行純文本。

通過改變 echoMode () 對於行編輯,還可以用作隻寫字段輸入 (譬如:口令)。

QTextEdit 是允許多行、富文本編輯的相關類。

約束文本

使用 maxLength 以定義文本的最大準許長度。可以使用 inputMask and setValidator () 以進一步約束文本內容。

編輯文本

可以改變文本采用 setText () 或 insert ()。使用 text () 能檢索文本和 displayText () 能檢索顯示的文本 (可能不同,見 EchoMode )。可以選擇文本采用 setSelection () 或 selectAll (),和可以 cut (), copy (),和 paste () 選定。要對齊文本,使用 setAlignment ().

當文本改變時, textChanged () 信號發射。當文本以某些其它方式改變而不是通過調用 setText (), textEdited () 信號發射。當光標移動時, cursorPositionChanged () 信號發射。和當選中 Return 或 Enter 鍵時, returnPressed () 信號發射。

當文本編輯完成時,要麼因為行編輯丟失聚焦,要麼選中 Return/Enter 鍵, editingFinished () 信號發射。

若行編輯沒有任何文本改變丟失聚焦, editingFinished () 信號不會發射。

若行編輯有設置驗證器, returnPressed ()/ editingFinished () 信號纔會被發射,若驗證器返迴 QValidator::Acceptable .

有關使用 QLineEdit 的多種方式的更多信息,見 行編輯範例 ,還提供一係列行編輯範例,展示對用戶提供輸入和輸齣的各種特性和驗證器的影響。

設置框架

默認情況下,QLineEdit 擁有如平颱樣式指南中的指定框架。可以關閉框架通過調用 setFrame (false).

默認鍵綁定

下錶描述默認鍵綁定。

注意: 行編輯還提供上下文菜單 (通常通過右鍵援引),呈現下麵列齣的一些編輯選項。

Keystroke 動作
Left Arrow 左移光標一字符。
Shift+Left Arrow 左移並選擇文本一字符。
Right Arrow 右移光標一字符。
Shift+Right Arrow 右移並選擇文本一字符。
Home 把光標移至行首。
End 把光標移至行尾。
Backspace 刪除光標左側字符。
Ctrl+Backspace 刪除光標左側的單詞。
Delete 刪除光標右側字符。
Ctrl+Delete 刪除光標右側的單詞。
Ctrl+A 選擇所有。
Ctrl+C 把選中文本拷貝到剪貼闆。
Ctrl+Insert 把選中文本拷貝到剪貼闆。
Ctrl+K 刪除到行尾。
Ctrl+V 將剪貼闆文本粘貼到行編輯。
Shift+Insert 將剪貼闆文本粘貼到行編輯。
Ctrl+X 刪除選中文本並把它拷貝到剪貼闆。
Shift+Delete 刪除選中文本並把它拷貝到剪貼闆。
Ctrl+Z 撤消上一操作。
Ctrl+Y 重做上一撤消操作。

錶示有效字符的任何其它擊鍵,將導緻把字符插入行編輯。

另請參閱 QTextEdit , QLabel , QComboBox ,和 行編輯範例 .

成員類型文檔編製

enum QLineEdit:: ActionPosition

此枚舉類型描述行編輯應該如何顯示要被添加的動作 Widget。

常量 描述
QLineEdit::LeadingPosition 0 Widget 顯示在文本左側當使用布局方嚮 Qt::LeftToRight 或右側當使用 Qt::RightToLeft ,分彆。
QLineEdit::TrailingPosition 1 Widget 顯示在文本右側當使用布局方嚮 Qt::LeftToRight 或左側當使用 Qt::RightToLeft ,分彆。

另請參閱 addAction (), removeAction (),和 QWidget::layoutDirection .

enum QLineEdit:: EchoMode

此枚舉類型描述行編輯應如何顯示其內容。

常量 描述
QLineEdit::Normal 0 顯示字符如鍵入它們。這是默認。
QLineEdit::NoEcho 1 不顯示任何東西。這可能適用於口令 (即使口令長度也應保密)。
QLineEdit::Password 2 顯示從屬平颱的口令掩碼字符,而不是實際鍵入字符。
QLineEdit::PasswordEchoOnEdit 3 纔顯示字符,當錄入字符時。否則,顯示字符就像 Password .

另請參閱 setEchoMode () 和 echoMode ().

特性文檔編製

[read-only] acceptableInput : const bool

此特性保持輸入是否滿足 inputMask 和驗證器。

默認情況下,此特性為 true .

訪問函數:

bool hasAcceptableInput () const

另請參閱 setInputMask () 和 setValidator ().

alignment : Qt::Alignment

此特性保持行編輯的對齊方式。

在這裏允許水平和垂直對齊, Qt::AlignJustify 將映射到 Qt::AlignLeft .

默認情況下,此特性包含組閤的 Qt::AlignLeft and Qt::AlignVCenter .

訪問函數:

Qt::Alignment alignment () const
void setAlignment (Qt::Alignment flag )

另請參閱 Qt::Alignment .

clearButtonEnabled : bool

此特性保持行編輯是否顯示清零按鈕,當它非空時。

若啓用,行編輯顯示結尾 clear 按鈕,當包含一些文本時。否則,行編輯不展示 clear 按鈕 (默認)。

訪問函數:

bool isClearButtonEnabled () const
void setClearButtonEnabled (bool enable )

另請參閱 addAction () 和 removeAction ().

cursorMoveStyle : Qt::CursorMoveStyle

此特性保持此行編輯光標的移動樣式。

當此特性被設為 Qt::VisualMoveStyle ,行編輯將使用視覺移動樣式。使用左箭頭鍵始終導緻光標嚮左移動,不管文本書寫方嚮。相同行為也適用於右箭頭鍵。

當特性被設為 Qt::LogicalMoveStyle (默認),在 LTR (從左到右) 文本塊,使用左箭頭鍵將遞增光標位置,而使用右箭頭鍵將遞減光標位置。若文本塊是 RTL (從右到左),則應用相反行為。

訪問函數:

Qt::CursorMoveStyle cursorMoveStyle () const
void setCursorMoveStyle (Qt::CursorMoveStyle style )

cursorPosition : int

此特性保持此行編輯的當前光標位置。

設置光標位置導緻重繪,當適當時。

默認情況下,此特性包含 0 值。

訪問函數:

int cursorPosition () const
void setCursorPosition (int)

[read-only] displayText : const QString

此特性保持顯示文本。

echoMode is Normal ,這返迴的如同 text ()。若 EchoMode is Password or PasswordEchoOnEdit , 返迴從屬平颱的口令掩碼字符串 (如 ******)。若 EchoMode is NoEcho ,返迴空字符串。

默認情況下,此特性包含空字符串。

訪問函數:

QString displayText () const

另請參閱 setEchoMode (), text (),和 EchoMode .

dragEnabled : bool

此特性保持行編輯是否開始拖拽,若用戶在某些選定文本中按下並移動鼠標。

拖拽默認禁用。

訪問函數:

bool dragEnabled () const
void setDragEnabled (bool b )

echoMode : EchoMode

此特性保持行編輯的迴顯模式。

迴顯模式確定行編輯錄入的文本,如何顯示 (或迴顯) 給用戶。

最常見設置為 Normal ,由用戶錄入的文本逐字顯示。 QLineEdit 還支持允許抑製 (或遮蓋) 錄入文本的模式:這些包括 NoEcho , Password and PasswordEchoOnEdit .

Widget 的顯示及拷貝或拖拽文本的能力,受此設置影響。

默認情況下,此特性被設為 Normal .

訪問函數:

QLineEdit::EchoMode echoMode () const
void setEchoMode (QLineEdit::EchoMode)

另請參閱 EchoMode and displayText ().

frame : bool

此特性保持行編輯是否采用框架繪製自身。

若啓用 (默認),行編輯在框架內繪製自身。否則,行編輯不用任何框架繪製自身。

訪問函數:

bool hasFrame () const
void setFrame (bool)

[read-only] hasSelectedText : const bool

此特性保持是否有選中任何文本。

hasSelectedText() 返迴 true 若用戶已選中某些 (或所有) 文本。否則,返迴 false .

默認情況下,此特性為 false .

訪問函數:

bool hasSelectedText () const

另請參閱 selectedText ().

inputMask : QString

此特性保持驗證輸入掩碼。

設置 QLineEdit 的驗證掩碼。可以使用驗證器代替掩碼 (或結閤掩碼);見 setValidator ()。默認值是空字符串,意味著不使用輸入掩碼。

要取消掩碼設置,並返迴到正常 QLineEdit 操作,傳遞空字符串。

輸入掩碼是輸入模闆字符串。它可以包含以下元素:

掩碼字符 定義 類彆 對於在此位置被認為有效的輸入字符。
元字符 各種特殊含義 (見下文)。
分隔符 所有其它字符被視為不可變分隔符。

下錶展示可在輸入掩碼中使用的掩碼和元字符。

掩碼字符 含義
A 要求的字母類彆字符,譬如 A-Z、A-Z。
a 準許但非要求的字母類彆字符。
N 要求的字母 (或數字) 類彆字符,譬如 A-Z、a-z、0-9。
n 準許但非要求的字母 (或數字) 類彆字符。
X 要求的任何非空白字符。
x 準許為任何非空白字符,但不是必需的。
9 要求的數字類彆字符,譬如 0-9。
0 準許但非要求的數字類彆字符。
D 要求的 > 0 的數字類彆字符,譬如 1-9。
d 準許但非要求的 > 0 的數字類彆字符,譬如 1-9。
# 準許但非要求的數字類彆 (或加/減號) 字符。
H 要求的十六進製字符 A-F、a-f、0-9。
h 準許但非要求的十六進製字符。
B 要求的二進製字符 0-1。
b 準許但非要求的二進製字符。
元字符 含義
> 所有之後字母字符大寫。
< 所有之後字母字符小寫。
! 關閉大小寫轉換。
;c 終止輸入掩碼並設置 blank 字符為 c .
[ ] { } 預留。
\ 使用 \ 轉義上文列齣的特殊字符以將它們用作分隔符。

當創建或清零時,將采用輸入掩碼字符串 (已移除元字符) 的副本填充行編輯,並替換掩碼字符采用 blank 字符 (默認情況下, space ).

當有設置輸入掩碼, text () 方法返迴行編輯內容的修改副本,其中所有 blank 字符已移除。可以讀取未修改內容使用 displayText ().

The hasAcceptableInput () 方法返迴 false,若行編輯的當前內容不滿足輸入掩碼要求。

範例:

掩碼 注意事項
000.000.000.000;_ IP 地址;空白為 _ .
HH:HH:HH:HH:HH:HH;_ MAC 地址
0000-00-00 ISO 日期;空白為 space
>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# 許可編號; 空白為 # 且所有 (字母) 字符被轉換成大寫。

要獲得範圍控製 (如:IP 地址),使用掩碼同 validators .

訪問函數:

QString inputMask () const
void setInputMask (const QString & inputMask )

另請參閱 maxLength , QChar::isLetter (), QChar::isNumber (),和 QChar::digitValue ().

maxLength : int

此特性保持文本的最大準許長度。

若文本太長,則在限製處截取它。

若齣現截取,將取消任何選中文本的選擇,光標位置被設為 0,並展示字符串的第一部分。

若行編輯擁有輸入掩碼,掩碼將定義最大字符串長度。

默認情況下,此特性包含 32767 值。

訪問函數:

int maxLength () const
void setMaxLength (int)

另請參閱 inputMask .

modified : bool

此特性保持行編輯內容是否已被用戶修改。

修改標誌從不被讀取由 QLineEdit ;它擁有默認值 false,且被改為 true 每當用戶改變行編輯內容時。

這對於需要提供默認值,但一開始不知道默認應該是什麼的 (例如:從屬錶單中的其它字段) 很有用。在沒有最佳默認值的情況下開始行編輯,且當默認已知,若 modified() 返迴 false (用戶沒有鍵入任何文本),插入默認值。

調用 setText () 重置修改標誌為 false。

訪問函數:

bool isModified () const
void setModified (bool)

placeholderText : QString

此特性保持行編輯的占位符文本。

設置此特性使行編輯顯示變灰占位符文本,隻要行編輯為空。

通常,空行編輯展示占位符文本,甚至在它擁有聚焦時。不管怎樣,若內容水平居中,占位符文本不會顯示在光標下方 (當行編輯擁有聚焦時)。

默認情況下,此特性包含空字符串。

訪問函數:

QString placeholderText () const
void setPlaceholderText (const QString &)

另請參閱 text ().

readOnly : bool

此特性保持行編輯是否隻讀。

在隻讀模式下,用戶仍可以將文本拷貝到剪貼闆,或拖放文本 (若 echoMode () 是 Normal ),但無法編輯它。

QLineEdit 在隻讀模式下不展示光標。

默認情況下,此特性為 false .

訪問函數:

bool isReadOnly () const
void setReadOnly (bool)

另請參閱 setEnabled ().

[read-only] redoAvailable : const bool

此特性保持重做是否可用。

重做變為可用,一旦用戶對行編輯中的文本履行一個或多個撤消操作。

默認情況下,此特性為 false .

訪問函數:

bool isRedoAvailable () const

[read-only] selectedText : const QString

此特性保持選中文本。

若沒有選中文本,此特性的值為空字符串。

默認情況下,此特性包含空字符串。

訪問函數:

QString selectedText () const

另請參閱 hasSelectedText ().

text : QString

此特性保持行編輯的文本。

設置此特性清零選定、清零撤消/重做曆史、把光標移至行尾,並重置 modified 特性為 false。文本不驗證,當采用 setText() 插入時。

文本被截取到 maxLength () 長度。

默認情況下,此特性包含空字符串。

訪問函數:

QString text () const
void setText (const QString &)

通知程序信號:

void textChanged (const QString & text )

另請參閱 insert () 和 clear ().

[read-only] undoAvailable : const bool

此特性保持撤消是否可用。

撤消變為可用,一旦用戶有修改行編輯文本。

默認情況下,此特性為 false .

訪問函數:

bool isUndoAvailable () const

成員函數文檔編製

[explicit] QLineEdit:: QLineEdit ( QWidget * parent = nullptr)

構造行編輯不采用文本。

最大文本長度被設為 32767 個字符。

The parent 自變量被發送給 QWidget 構造函數。

另請參閱 setText () 和 setMaxLength ().

[explicit] QLineEdit:: QLineEdit (const QString & contents , QWidget * parent = nullptr)

構造行編輯包含文本 contents 作為子級對於 parent .

光標位置被設為行尾,且最大文本長度被設為 32767 個字符。

另請參閱 text () 和 setMaxLength ().

[virtual noexcept] QLineEdit:: ~QLineEdit ()

銷毀行編輯。

void QLineEdit:: addAction ( QAction * action , QLineEdit::ActionPosition position )

添加 action 到動作列錶在 position .

QAction *QLineEdit:: addAction (const QIcon & icon , QLineEdit::ActionPosition position )

這是重載函數。

創建新動作采用給定 iconposition .

void QLineEdit:: backspace ()

若未選中文本,刪除文本光標左側字符,並把光標左移動一位置。若有選中任何文本,光標移到選中文本的開頭,並刪除選中文本。

另請參閱 del ().

[override virtual protected] void QLineEdit:: changeEvent ( QEvent * ev )

重實現: QWidget::changeEvent (QEvent *event).

[slot] void QLineEdit:: clear ()

清零行編輯的內容。

另請參閱 setText () 和 insert ().

QCompleter *QLineEdit:: completer () const

返迴當前 QCompleter ,其提供補全。

另請參閱 setCompleter ().

[override virtual protected] void QLineEdit:: contextMenuEvent ( QContextMenuEvent * event )

重實現: QWidget::contextMenuEvent (QContextMenuEvent *event).

展示標準上下文菜單,創建采用 createStandardContextMenu ().

若不希望行編輯擁有上下文菜單,可以設置它的 contextMenuPolicy to Qt::NoContextMenu 。要定製上下文菜單,重實現此函數。要擴展標準上下文菜單,重實現此函數,調用 createStandardContextMenu (),並擴展返迴菜單。

void LineEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}
					

The event 參數用於獲取鼠標光標位置,當生成事件時。

另請參閱 setContextMenuPolicy ().

[slot] void QLineEdit:: copy () const

把選中文本拷貝到剪貼闆 (若有的話),且若 echoMode () 是 Normal .

另請參閱 cut () 和 paste ().

QMenu *QLineEdit:: createStandardContextMenu ()

創建標準上下文菜單,當用戶在行編輯點擊鼠標右鍵時顯示。被調用從默認 contextMenuEvent () 處理程序。彈齣菜單的所有權會轉移給調用者。

void QLineEdit:: cursorBackward ( bool mark , int steps = 1)

後移光標 steps 字符。若 mark 為 True,通過添加到選定移動每個字符。若 mark 為 false,清零選定。

另請參閱 cursorForward ().

void QLineEdit:: cursorForward ( bool mark , int steps = 1)

前移光標 steps 字符。若 mark 為 True,通過添加到選定移動每個字符。若 mark 為 false,清零選定。

另請參閱 cursorBackward ().

int QLineEdit:: cursorPositionAt (const QPoint & pos )

返迴光標位置在點 pos .

[signal] void QLineEdit:: cursorPositionChanged ( int oldPos , int newPos )

此信號被發射每當光標移動時。先前位置被給定由 oldPos ,和新位置由 newPos .

另請參閱 setCursorPosition () 和 cursorPosition ().

[protected] QRect QLineEdit:: cursorRect () const

返迴包括行編輯光標的矩形。

void QLineEdit:: cursorWordBackward ( bool mark )

將光標後移一單詞。若 mark 為 true,單詞還被選中。

另請參閱 cursorWordForward ().

void QLineEdit:: cursorWordForward ( bool mark )

將光標前移一單詞。若 mark 為 true,單詞還被選中。

另請參閱 cursorWordBackward ().

[slot] void QLineEdit:: cut ()

把選中文本拷貝到剪貼闆且刪除它 (若有的話),且若 echoMode () 是 Normal .

若當前驗證器禁止刪除選中文本,cut() 將拷貝而不刪除。

另請參閱 copy (), paste (),和 setValidator ().

void QLineEdit:: del ()

若未選中文本,刪除文本光標右側字符。若有選中任何文本,光標將移到選中文本開頭,並刪除選中文本。

另請參閱 backspace ().

void QLineEdit:: deselect ()

取消任何選中文本的選擇。

另請參閱 setSelection () 和 selectAll ().

[override virtual protected] void QLineEdit:: dragEnterEvent ( QDragEnterEvent * e )

重實現: QWidget::dragEnterEvent (QDragEnterEvent *event).

[override virtual protected] void QLineEdit:: dragLeaveEvent ( QDragLeaveEvent * e )

重實現: QWidget::dragLeaveEvent (QDragLeaveEvent *event).

[override virtual protected] void QLineEdit:: dragMoveEvent ( QDragMoveEvent * e )

重實現: QWidget::dragMoveEvent (QDragMoveEvent *event).

[override virtual protected] void QLineEdit:: dropEvent ( QDropEvent * e )

重實現: QWidget::dropEvent (QDropEvent *event).

[signal] void QLineEdit:: editingFinished ()

此信號發射,當使用 Return/Enter 鍵時,或者,若行編輯器丟失聚焦,且從上次發射此信號起其內容已改變。

注意: 若有 validator () 或 inputMask () 設置在行編輯並使用 Return/Enter 鍵,editingFinished() 信號纔會發射,若輸入遵循 inputMask () 和 validator () 返迴 QValidator::Acceptable .

void QLineEdit:: end ( bool mark )

把文本光標移至行尾,除非光標已經到那裏。若 mark 為 True,朝最後位置選擇文本。否則,取消選中文本的選擇,若移動光標。

另請參閱 home ().

[override virtual] bool QLineEdit:: event ( QEvent * e )

重實現: QWidget::event (QEvent *event).

[override virtual protected] void QLineEdit:: focusInEvent ( QFocusEvent * e )

重實現: QWidget::focusInEvent (QFocusEvent *event).

[override virtual protected] void QLineEdit:: focusOutEvent ( QFocusEvent * e )

重實現: QWidget::focusOutEvent (QFocusEvent *event).

void QLineEdit:: home ( bool mark )

將文本光標移至行首,除非光標已經在那裏。若 mark 為 True,朝第一位置選擇文本。否則,取消選中文本的選擇,若移動光標。

另請參閱 end ().

[virtual protected] void QLineEdit:: initStyleOption ( QStyleOptionFrame * option ) const

初始化 option 采用值來自此 QLineEdit 。此方法對子類是有用的,當需要 QStyleOptionFrame ,但不希望自己填充所有信息。

另請參閱 QStyleOption::initFrom ().

[override virtual protected] void QLineEdit:: inputMethodEvent ( QInputMethodEvent * e )

重實現: QWidget::inputMethodEvent (QInputMethodEvent *event).

[override virtual] QVariant QLineEdit:: inputMethodQuery ( Qt::InputMethodQuery property ) const

重實現: QWidget::inputMethodQuery (Qt::InputMethodQuery query) const.

[signal] void QLineEdit:: inputRejected ()

此信號發射,當認為用戶使用鍵不是有效輸入時。例如,若使用鍵導緻驗證器的 validate () 調用返迴 Invalid 。另一情況是當試著錄入更多字符,超齣行編輯最大長度時。

注意: 此信號仍會發射,當隻接受文本的一部分時。例如,若有設置最大長度,且剪貼闆文本在粘貼時長於最大長度。

void QLineEdit:: insert (const QString & newText )

刪除任何選中文本,插入 newText ,並驗證結果。若有效,把新文本設為行編輯的新內容。

另請參閱 setText () 和 clear ().

[override virtual protected] void QLineEdit:: keyPressEvent ( QKeyEvent * event )

重實現: QWidget::keyPressEvent (QKeyEvent *event).

轉換給定鍵按下 event 成行編輯動作。

若使用 Return/Enter 鍵且當前文本有效 (或可以 使有效 通過驗證器),信號 returnPressed () 發射。

另請參閱 默認鍵綁定 .

[override virtual protected] void QLineEdit:: keyReleaseEvent ( QKeyEvent * e )

重實現: QWidget::keyReleaseEvent (QKeyEvent *event).

[override virtual] QSize QLineEdit:: minimumSizeHint () const

重實現訪問函數為特性: QWidget::minimumSizeHint .

返迴行編輯最小尺寸。

返迴寬度通常夠至少一字符。

[override virtual protected] void QLineEdit:: mouseDoubleClickEvent ( QMouseEvent * e )

重實現: QWidget::mouseDoubleClickEvent (QMouseEvent *event).

[override virtual protected] void QLineEdit:: mouseMoveEvent ( QMouseEvent * e )

重實現: QWidget::mouseMoveEvent (QMouseEvent *event).

[override virtual protected] void QLineEdit:: mousePressEvent ( QMouseEvent * e )

重實現: QWidget::mousePressEvent (QMouseEvent *event).

[override virtual protected] void QLineEdit:: mouseReleaseEvent ( QMouseEvent * e )

重實現: QWidget::mouseReleaseEvent (QMouseEvent *event).

[override virtual protected] void QLineEdit:: paintEvent ( QPaintEvent *)

重實現: QWidget::paintEvent (QPaintEvent *event).

[slot] void QLineEdit:: paste ()

將剪貼闆文本插入在光標位置處,刪除任何選中文本,若行編輯不為 隻讀 .

若最終結果無效,對當前 validator ,什麼都不發生。

另請參閱 copy () 和 cut ().

[slot] void QLineEdit:: redo ()

重做上一操作,若重做 available .

[signal] void QLineEdit:: returnPressed ()

此信號發射,當使用 Return/Enter 鍵時。

注意: 若有 validator () 或 inputMask () 設置在行編輯,returnPressed() 信號纔發射,若輸入跟隨 inputMask () 和 validator () 返迴 QValidator::Acceptable .

[slot] void QLineEdit:: selectAll ()

選擇所有文本 (高亮它) 並把光標移到末尾。

注意: 這在插入默認值時很有用,因為若用戶在單擊 Widget 前鍵入,刪除選中文本。

另請參閱 setSelection () 和 deselect ().

[signal] void QLineEdit:: selectionChanged ()

此信號發射,每當選定改變時。

另請參閱 hasSelectedText () 和 selectedText ().

int QLineEdit:: selectionEnd () const

返迴直接在行編輯選中後的字符索引 (或 -1 若未選中文本)。

另請參閱 selectedText (), selectionStart (),和 selectionLength ().

int QLineEdit:: selectionLength () const

返迴選定長度。

另請參閱 selectedText (), selectionStart (),和 selectionEnd ().

int QLineEdit:: selectionStart () const

返迴行編輯中的第一選中字符索引 (或 -1 若未選中文本)。

另請參閱 selectedText (), selectionEnd (),和 selectionLength ().

void QLineEdit:: setCompleter ( QCompleter * c )

將為此行編輯提供自動補全的補全器設為 c 。補全模式的設置是使用 QCompleter::setCompletionMode ().

要使用 QCompleter 采用 QValidator or QLineEdit::inputMask ,需要確保模型被提供給 QCompleter 包含有效條目。可以使用 QSortFilterProxyModel 以確保 QCompleter 的模型隻包含有效條目。

要移除補全器並禁用自動補全,傳遞 nullptr .

另請參閱 completer () 和 QCompleter .

void QLineEdit:: setSelection ( int start , int length )

選擇文本從位置 start 和對於 length 個字符。負長度是允許的。

另請參閱 deselect (), selectAll (),和 selectedText ().

void QLineEdit:: setTextMargins (const QMargins & margins )

設置 margins 圍繞文本在框架內。

另請參閱 textMargins ().

void QLineEdit:: setTextMargins ( int left , int top , int right , int bottom )

將框架圍繞文本的邊距尺寸設為 left , top , right ,和 bottom .

另請參閱 textMargins ().

void QLineEdit:: setValidator (const QValidator * v )

把行編輯值的驗證器設為 v .

行編輯的 returnPressed () 和 editingFinished () 信號纔發射若 v 驗證行編輯的內容按 Acceptable 。用戶可以將內容更改為任何 中間體 值在編輯期間,但會阻止將文本編輯成值 v 驗證按 Invalid .

這允許約束將要存儲的文本,當編輯完成時,同時讓用戶有足夠自由把文本從一種有效狀態編輯到另一有效狀態。

要移除當前輸入驗證器,傳遞 nullptr 。初始設置是沒有輸入驗證器的 (接受任何輸入直到 maxLength ()).

另請參閱 validator (), hasAcceptableInput (), QIntValidator , QDoubleValidator ,和 QRegularExpressionValidator .

[override virtual] QSize QLineEdit:: sizeHint () const

重實現訪問函數為特性: QWidget::sizeHint .

返迴 Widget 的推薦尺寸。

返迴寬度 (以像素為單位),通常夠大約 15 到 20 個字符。

[signal] void QLineEdit:: textChanged (const QString & text )

此信號發射,每當文本改變時。 text 自變量是新文本。

不像 textEdited (),此信號也會被發射,當文本以編程方式被改變時,例如:通過調用 setText ().

注意: 通知程序信號對於特性 text .

[signal] void QLineEdit:: textEdited (const QString & text )

此信號發射,每當編輯文本時。 text 自變量是新文本。

不像 textChanged (),此信號不被發射,當文本以編程方式被改變時,例如:通過調用 setText ().

QMargins QLineEdit:: textMargins () const

返迴 Widget 的文本邊距。

另請參閱 setTextMargins ().

[override virtual] void QLineEdit:: timerEvent ( QTimerEvent * e )

重實現: QObject::timerEvent (QTimerEvent *event).

[slot] void QLineEdit:: undo ()

撤消上一操作,若撤消 available 。取消當前任何選定,並將選擇起始更新成當前光標位置。

const QValidator *QLineEdit:: validator () const

返迴指嚮當前輸入驗證器的指針,或 nullptr 若沒有設置驗證器。

另請參閱 setValidator ().