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 ,和 行編輯範例 .
此枚舉類型描述行編輯應該如何顯示要被添加的動作 Widget。
| 常量 | 值 | 描述 |
|---|---|---|
QLineEdit::LeadingPosition
|
0
|
Widget 顯示在文本左側當使用布局方嚮
Qt::LeftToRight
或右側當使用
Qt::RightToLeft
,分彆。
|
QLineEdit::TrailingPosition
|
1
|
Widget 顯示在文本右側當使用布局方嚮
Qt::LeftToRight
或左側當使用
Qt::RightToLeft
,分彆。
|
另請參閱 addAction (), removeAction (),和 QWidget::layoutDirection .
此枚舉類型描述行編輯應如何顯示其內容。
| 常量 | 值 | 描述 |
|---|---|---|
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 ().
此特性保持行編輯的對齊方式。
在這裏允許水平和垂直對齊, Qt::AlignJustify 將映射到 Qt::AlignLeft .
默認情況下,此特性包含組閤的 Qt::AlignLeft and Qt::AlignVCenter .
訪問函數:
| Qt::Alignment | alignment () const |
| void | setAlignment (Qt::Alignment flag ) |
另請參閱 Qt::Alignment .
此特性保持行編輯是否顯示清零按鈕,當它非空時。
若啓用,行編輯顯示結尾 clear 按鈕,當包含一些文本時。否則,行編輯不展示 clear 按鈕 (默認)。
訪問函數:
| bool | isClearButtonEnabled () const |
| void | setClearButtonEnabled (bool enable ) |
另請參閱 addAction () 和 removeAction ().
此特性保持此行編輯光標的移動樣式。
當此特性被設為 Qt::VisualMoveStyle ,行編輯將使用視覺移動樣式。使用左箭頭鍵始終導緻光標嚮左移動,不管文本書寫方嚮。相同行為也適用於右箭頭鍵。
當特性被設為 Qt::LogicalMoveStyle (默認),在 LTR (從左到右) 文本塊,使用左箭頭鍵將遞增光標位置,而使用右箭頭鍵將遞減光標位置。若文本塊是 RTL (從右到左),則應用相反行為。
訪問函數:
| Qt::CursorMoveStyle | cursorMoveStyle () const |
| void | setCursorMoveStyle (Qt::CursorMoveStyle style ) |
此特性保持此行編輯的當前光標位置。
設置光標位置導緻重繪,當適當時。
默認情況下,此特性包含 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 .
此特性保持行編輯是否開始拖拽,若用戶在某些選定文本中按下並移動鼠標。
拖拽默認禁用。
訪問函數:
| bool | dragEnabled () const |
| void | setDragEnabled (bool b ) |
此特性保持行編輯的迴顯模式。
迴顯模式確定行編輯錄入的文本,如何顯示 (或迴顯) 給用戶。
最常見設置為 Normal ,由用戶錄入的文本逐字顯示。 QLineEdit 還支持允許抑製 (或遮蓋) 錄入文本的模式:這些包括 NoEcho , Password and PasswordEchoOnEdit .
Widget 的顯示及拷貝或拖拽文本的能力,受此設置影響。
默認情況下,此特性被設為 Normal .
訪問函數:
| QLineEdit::EchoMode | echoMode () const |
| void | setEchoMode (QLineEdit::EchoMode) |
另請參閱 EchoMode and displayText ().
此特性保持行編輯是否采用框架繪製自身。
若啓用 (默認),行編輯在框架內繪製自身。否則,行編輯不用任何框架繪製自身。
訪問函數:
| bool | hasFrame () const |
| void | setFrame (bool) |
[read-only]
hasSelectedText
: const
bool
此特性保持是否有選中任何文本。
hasSelectedText() 返迴
true
若用戶已選中某些 (或所有) 文本。否則,返迴
false
.
默認情況下,此特性為
false
.
訪問函數:
| bool | hasSelectedText () const |
另請參閱 selectedText ().
此特性保持驗證輸入掩碼。
設置 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 ().
此特性保持文本的最大準許長度。
若文本太長,則在限製處截取它。
若齣現截取,將取消任何選中文本的選擇,光標位置被設為 0,並展示字符串的第一部分。
若行編輯擁有輸入掩碼,掩碼將定義最大字符串長度。
默認情況下,此特性包含 32767 值。
訪問函數:
| int | maxLength () const |
| void | setMaxLength (int) |
另請參閱 inputMask .
此特性保持行編輯內容是否已被用戶修改。
修改標誌從不被讀取由 QLineEdit ;它擁有默認值 false,且被改為 true 每當用戶改變行編輯內容時。
這對於需要提供默認值,但一開始不知道默認應該是什麼的 (例如:從屬錶單中的其它字段) 很有用。在沒有最佳默認值的情況下開始行編輯,且當默認已知,若 modified() 返迴
false
(用戶沒有鍵入任何文本),插入默認值。
調用 setText () 重置修改標誌為 false。
訪問函數:
| bool | isModified () const |
| void | setModified (bool) |
此特性保持行編輯的占位符文本。
設置此特性使行編輯顯示變灰占位符文本,隻要行編輯為空。
通常,空行編輯展示占位符文本,甚至在它擁有聚焦時。不管怎樣,若內容水平居中,占位符文本不會顯示在光標下方 (當行編輯擁有聚焦時)。
默認情況下,此特性包含空字符串。
訪問函數:
| QString | placeholderText () const |
| void | setPlaceholderText (const QString &) |
另請參閱 text ().
此特性保持行編輯是否隻讀。
在隻讀模式下,用戶仍可以將文本拷貝到剪貼闆,或拖放文本 (若 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 ().
此特性保持行編輯的文本。
設置此特性清零選定、清零撤消/重做曆史、把光標移至行尾,並重置 modified 特性為 false。文本不驗證,當采用 setText() 插入時。
文本被截取到 maxLength () 長度。
默認情況下,此特性包含空字符串。
訪問函數:
| QString | text () const |
| void | setText (const QString &) |
通知程序信號:
| void | textChanged (const QString & text ) |
[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
()
銷毀行編輯。
添加 action 到動作列錶在 position .
創建新動作采用給定 icon 在 position .
這是重載函數。
若未選中文本,刪除文本光標左側字符,並把光標左移動一位置。若有選中任何文本,光標移到選中文本的開頭,並刪除選中文本。
另請參閱 del ().
[override virtual protected]
void
QLineEdit::
changeEvent
(
QEvent
*
ev
)
重實現: QWidget::changeEvent (QEvent *event).
[slot]
void
QLineEdit::
clear
()
清零行編輯的內容。
返迴當前 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 .
創建標準上下文菜單,當用戶在行編輯點擊鼠標右鍵時顯示。被調用從默認 contextMenuEvent () 處理程序。彈齣菜單的所有權會轉移給調用者。
後移光標 steps 字符。若 mark 為 True,通過添加到選定移動每個字符。若 mark 為 false,清零選定。
另請參閱 cursorForward ().
前移光標 steps 字符。若 mark 為 True,通過添加到選定移動每個字符。若 mark 為 false,清零選定。
另請參閱 cursorBackward ().
返迴光標位置在點 pos .
[signal]
void
QLineEdit::
cursorPositionChanged
(
int
oldPos
,
int
newPos
)
此信號被發射每當光標移動時。先前位置被給定由 oldPos ,和新位置由 newPos .
另請參閱 setCursorPosition () 和 cursorPosition ().
[protected]
QRect
QLineEdit::
cursorRect
() const
返迴包括行編輯光標的矩形。
將光標後移一單詞。若 mark 為 true,單詞還被選中。
另請參閱 cursorWordForward ().
將光標前移一單詞。若 mark 為 true,單詞還被選中。
另請參閱 cursorWordBackward ().
[slot]
void
QLineEdit::
cut
()
把選中文本拷貝到剪貼闆且刪除它 (若有的話),且若 echoMode () 是 Normal .
若當前驗證器禁止刪除選中文本,cut() 將拷貝而不刪除。
另請參閱 copy (), paste (),和 setValidator ().
若未選中文本,刪除文本光標右側字符。若有選中任何文本,光標將移到選中文本開頭,並刪除選中文本。
另請參閱 backspace ().
取消任何選中文本的選擇。
另請參閱 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 .
把文本光標移至行尾,除非光標已經到那裏。若 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).
將文本光標移至行首,除非光標已經在那裏。若 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 。另一情況是當試著錄入更多字符,超齣行編輯最大長度時。
注意: 此信號仍會發射,當隻接受文本的一部分時。例如,若有設置最大長度,且剪貼闆文本在粘貼時長於最大長度。
刪除任何選中文本,插入 newText ,並驗證結果。若有效,把新文本設為行編輯的新內容。
[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 ,什麼都不發生。
[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 ().
返迴直接在行編輯選中後的字符索引 (或 -1 若未選中文本)。
另請參閱 selectedText (), selectionStart (),和 selectionLength ().
返迴選定長度。
另請參閱 selectedText (), selectionStart (),和 selectionEnd ().
返迴行編輯中的第一選中字符索引 (或 -1 若未選中文本)。
另請參閱 selectedText (), selectionEnd (),和 selectionLength ().
將為此行編輯提供自動補全的補全器設為 c 。補全模式的設置是使用 QCompleter::setCompletionMode ().
要使用 QCompleter 采用 QValidator or QLineEdit::inputMask ,需要確保模型被提供給 QCompleter 包含有效條目。可以使用 QSortFilterProxyModel 以確保 QCompleter 的模型隻包含有效條目。
要移除補全器並禁用自動補全,傳遞
nullptr
.
另請參閱 completer () 和 QCompleter .
選擇文本從位置 start 和對於 length 個字符。負長度是允許的。
另請參閱 deselect (), selectAll (),和 selectedText ().
設置 margins 圍繞文本在框架內。
另請參閱 textMargins ().
將框架圍繞文本的邊距尺寸設為 left , top , right ,和 bottom .
另請參閱 textMargins ().
把行編輯值的驗證器設為 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 ().
返迴 Widget 的文本邊距。
另請參閱 setTextMargins ().
[override virtual]
void
QLineEdit::
timerEvent
(
QTimerEvent
*
e
)
重實現: QObject::timerEvent (QTimerEvent *event).
[slot]
void
QLineEdit::
undo
()
撤消上一操作,若撤消 available 。取消當前任何選定,並將選擇起始更新成當前光標位置。
返迴指嚮當前輸入驗證器的指針,或
nullptr
若沒有設置驗證器。
另請參閱 setValidator ().