QLineEdit 小部件是 1 行文本编辑器。 更多...
头: | #include <QLineEdit> |
CMake: |
find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QWidget |
enum | ActionPosition { LeadingPosition, TrailingPosition } |
enum | EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit } |
|
|
QLineEdit (const QString & contents , QWidget * parent = nullptr) | |
QLineEdit (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 (int left , int top , int right , int bottom ) |
void | setTextMargins (const QMargins & margins ) |
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 *) 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 |
行编辑允许用户键入和编辑单行纯文本,采用有用编辑功能的集合,包括:撤消/重做、剪切/粘贴及拖放 (见 setDragEnabled ()).
通过改变 echoMode () 为行编辑,它还可以用作只写字段 (用于密码之类的输入)。
可以把文本长度约束到 maxLength ()。可以任意约束文本使用 validator () 或 inputMask (),或两者。当在同一行编辑的验证器和输入掩码之间切换时,最好清零验证器或输入掩码,以防未定义行为。
相关类 QTextEdit 允许多行,编辑富文本。
可以改变文本采用 setText () 或 insert ()。文本的检索采用 text ();显示文本 (可能不同,见 EchoMode ) 的检索采用 displayText ()。可以选择文本采用 setSelection () 或 selectAll (), 且选择可以被 cut (), copy () 和 paste ()。可以对齐文本采用 setAlignment ().
当文本改变时 textChanged () 信号被发射;当文本改变时,除了通过调用 setText () textEdited () 信号被发射;当光标移动时 cursorPositionChanged () 信号被发射;而当按下 Return 或 Enter 键时 returnPressed () 信号被发射。
当编辑完成时,由于行编辑失去聚焦或按下 Return/Enter 键 editingFinished () 信号会被发射。注意,若未做任何改变失去聚焦, editingFinished () 信号不会被发射。
注意:若行编辑有设置验证器, returnPressed ()/ editingFinished () 信号才会被发射,若验证器返回 QValidator::Acceptable .
默认情况下,QLineEdit 拥有由平台风格指南指定的框架;可以关闭它通过调用 setFrame (false).
默认键绑定的描述见下文。行编辑还提供上下文菜单 (通常通过鼠标右键援引),呈现这些编辑选项中的一些。
按键 | 动作 |
---|---|
Left Arrow | 左移光标一字符。 |
Shift+Left Arrow | 左移并选择文本一字符。 |
Right Arrow | 右移光标一字符。 |
Shift+Right Arrow | 右移并选择文本一字符。 |
Home | 把光标移到行开头。 |
End | 把光标移到行尾。 |
Backspace | 删除光标左侧字符。 |
Ctrl+Backspace | 删除光标左侧的单词。 |
删除 | 删除光标右侧字符。 |
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 , GUI 设计手册:字段、条目 ,和 行编辑范例 .
[since 5.2]
enum QLineEdit::
ActionPosition
此枚举类型描述行编辑应该如何显示要被添加的动作 Widget。
常量 | 值 | 描述 |
---|---|---|
QLineEdit::LeadingPosition
|
0
|
Widget 显示在文本左侧当使用布局方向
Qt::LeftToRight
或右侧当使用
Qt::RightToLeft
,分别。
|
QLineEdit::TrailingPosition
|
1
|
Widget 显示在文本右侧当使用布局方向
Qt::LeftToRight
或左侧当使用
Qt::RightToLeft
,分别。
|
该枚举在 Qt 5.2 引入或被修改。
另请参阅 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 .
[since 5.2]
clearButtonEnabled
:
bool
此特性保持行编辑是否显示清零按钮,当它非空时。
若启用,行编辑显示结尾 clear 按钮 (当它包含一些文本时),否则,行编辑不展示清零按钮 (默认)。
该特性在 Qt 5.2 引入。
访问函数:
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 它返回字符串对于从属平台的口令掩码字符 text ().length() 按尺寸,如 ******;若 EchoMode is NoEcho 返回 "" 空字符串。
默认情况下,此特性包含空字符串。
访问函数:
QString | displayText () const |
另请参阅 setEchoMode (), text (),和 EchoMode .
此特性保存 QLineEdit 是否开始拖拽,若用户在某些选中文本上按下并移动鼠标。
拖拽默认禁用。
访问函数:
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 ().
此特性保持验证输入掩码。
若未设置掩码,inputMask() 返回空字符串。
设置 QLineEdit 的验证掩码。可以使用验证器代替掩码 (或结合掩码);见 setValidator ().
不设置掩码并返回正常 QLineEdit 操作通过传递 "" 空字符串。
输入掩码是输入模板字符串。它可以包含以下元素:
掩码字符 | 定义 Category 的输入字符 (在此位置被认为有效) |
元字符 | 各种特殊含义 |
分隔符 | 所有其它字符被视为不可变分隔符 |
下表展示可在输入掩码中使用的掩码和元字符。
掩码字符 | 含义 |
---|---|
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 ().
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 |
构造行编辑包含文本 contents .
光标位置被设为行尾,且最大文本长度被设为 32767 个字符。
parent 和自变量被发送给 QWidget 构造函数。
另请参阅 text () 和 setMaxLength ().
构造行编辑不采用文本。
最大文本长度被设为 32767 个字符。
parent 自变量被发送给 QWidget 构造函数。
另请参阅 setText () 和 setMaxLength ().
[slot]
void
QLineEdit::
clear
()
清零行编辑的内容。
[slot]
void
QLineEdit::
copy
() const
把选中文本拷贝到剪贴板 (若有的话),且若 echoMode () 是 Normal .
[signal]
void
QLineEdit::
cursorPositionChanged
(
int
oldPos
,
int
newPos
)
此信号被发射每当光标移动时。先前位置被给定由 oldPos ,和新位置由 newPos .
另请参阅 setCursorPosition () 和 cursorPosition ().
[slot]
void
QLineEdit::
cut
()
把选中文本拷贝到剪贴板且删除它 (若有的话),且若 echoMode () 是 Normal .
若当前验证器禁止删除选中文本,cut() 将拷贝而不删除。
另请参阅 copy (), paste (),和 setValidator ().
[signal]
void
QLineEdit::
editingFinished
()
此信号被发射,当 Return 或 Enter 键被按下,或者若行编辑失去焦点且其内容有改变从上次发射此信号以来。
注意,若有 validator () 或 inputMask () 设置在行编辑且 Enter/Return 键被按下,editingFinished() 信号才会被发射,若输入紧跟 inputMask () 和 validator () 返回 QValidator::Acceptable .
[signal, since 5.12]
void
QLineEdit::
inputRejected
()
此信号被发射当用户按下不被认为是可接受输入的键时。例如,若按键导致验证器的 validate() 调用返回 Invalid (无效)。另一情况是试着键入超出行编辑最大长度的更多字符。
注意:此信号仍会被发射,在部分文本被接受但不是全部的情况下。例如,若有设置最大长度,而剪贴板文本长于粘贴时的最大长度。
该函数在 Qt 5.12 引入。
[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 ().
[signal]
void
QLineEdit::
textChanged
(const
QString
&
text
)
此信号被发射每当文本改变时。 text 自变量是新文本。
不像 textEdited (),此信号也会被发射,当文本以编程方式被改变时,例如:通过调用 setText ().
注意: 通知程序信号对于特性 text .
[signal]
void
QLineEdit::
textEdited
(const
QString
&
text
)
此信号被发射,每当编辑文本时。 text 自变量是新文本。
不像 textChanged (),此信号不被发射,当文本以编程方式被改变时,例如:通过调用 setText ().
[slot]
void
QLineEdit::
undo
()
撤消上一操作,若撤消 available 。取消当前任何选定,并将选择起始更新成当前光标位置。
[虚拟]
QLineEdit::
~QLineEdit
()
销毁行编辑。
[since 5.2]
void
QLineEdit::
addAction
(
QAction
*
action
,
QLineEdit::ActionPosition
position
)
添加 action 到动作列表在 position .
该函数在 Qt 5.2 引入。
[since 5.2]
QAction
*QLineEdit::
addAction
(const
QIcon
&
icon
,
QLineEdit::ActionPosition
position
)
这是重载函数。
创建新的动作采用给定 icon 在 position .
该函数在 Qt 5.2 引入。
若未选择文本,删除文本光标左侧字符并左移光标一位置。若有选择任何文本,光标将移至选定文本的开头并删除所选文本。
另请参阅 del ().
[override virtual protected]
void
QLineEdit::
changeEvent
(
QEvent
*
ev
)
重实现: QWidget::changeEvent (QEvent *event).
返回当前 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; }
event 参数用于获取鼠标光标位置,当生成事件时。
另请参阅 setContextMenuPolicy ().
此函数创建要展示的标准上下文菜单,当用户采用鼠标右键点击行编辑时。它被调用从默认 contextMenuEvent () 处理程序。将弹出菜单的所有权转移给调用者。
后移光标 steps 字符。若 mark 为 true,每个移过字符会被添加到选定;若 mark 为 False,清零选定。
另请参阅 cursorForward ().
前移光标 steps 字符。若 mark 为 true,每个移过字符会被添加到选定;若 mark 为 False,清零选定。
另请参阅 cursorBackward ().
返回光标位置在点 pos .
[protected]
QRect
QLineEdit::
cursorRect
() const
返回包括行编辑光标的矩形。
将光标后移一单词。若 mark 为 true,单词还被选中。
另请参阅 cursorWordForward ().
将光标前移一单词。若 mark 为 true,单词还被选中。
另请参阅 cursorWordBackward ().
若未选择文本,删除文本光标右侧字符。若有选择任何文本,光标将移至选定文本的开头并删除所选文本。
另请参阅 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).
将光标移至行末尾,除非光标已移到那里。若 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.
删除任何选中文本,插入 newText ,并验证结果。若有效,则将其设为行编辑的新内容。
[override virtual protected]
void
QLineEdit::
keyPressEvent
(
QKeyEvent
*
event
)
重实现: QWidget::keyPressEvent (QKeyEvent *event).
转换给定键按下 event 成行编辑动作。
若 Return 或 Enter 键被按下且当前文本有效 (或可以是 使有效 通过验证器),信号 returnPressed () 被发射。
默认键绑定列表在类的详细描述中。
[override virtual protected]
void
QLineEdit::
keyReleaseEvent
(
QKeyEvent
*)
重实现: 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).
[since 5.10]
int
QLineEdit::
selectionEnd
() const
返回行编辑选定之后的直接字符索引,或-1 若未选中文本。
该函数在 Qt 5.10 引入。
另请参阅 selectedText (), selectionStart (),和 selectionLength ().
[since 5.10]
int
QLineEdit::
selectionLength
() const
返回选定长度。
该函数在 Qt 5.10 引入。
另请参阅 selectedText (), selectionStart (),和 selectionEnd ().
返回行编辑第一选中字符的索引,或 -1 若没有文本被选中。
另请参阅 selectedText (), selectionEnd (),和 selectionLength ().
将为此行编辑提供自动补全的补全器设为 c 。补全模式的设置是使用 QCompleter::setCompletionMode ().
要使用 QCompleter 采用 QValidator or QLineEdit::inputMask ,需要确保模型被提供给 QCompleter 包含有效条目。可以使用 QSortFilterProxyModel 以确保 QCompleter 的模型只包含有效条目。
若 c == 0,setCompleter() 将移除当前补全器,有效禁用自动补全。
另请参阅 completer () 和 QCompleter .
选择文本从位置 start 和对于 length 个字符。负长度是允许的。
另请参阅 deselect (), selectAll (),和 selectedText ().
将框架围绕文本的边距尺寸设为 left , top , right ,和 bottom .
另请参阅 textMargins ().
另请参阅 textMargins ().
设置 margins 围绕文本在框架内。
另请参阅 textMargins ().
把行编辑值的验证器设为 v .
行编辑的 returnPressed () 和 editingFinished () 信号才发射若 v 验证行编辑的内容按 Acceptable 。用户可以将内容更改为任何 中间体 值在编辑期间,但会阻止将文本编辑成值 v 验证按 Invalid .
这允许约束最终要键入的文本当编辑完成时,同时使用户有足够自由从一种有效状态到另一种有效状态编辑文本。
若 v == 0,setValidator() 将移除当前输入验证器。初始设置没有输入验证器 (即:接受任何输入最多 maxLength ()).
另请参阅 validator (), hasAcceptableInput (), QIntValidator , QDoubleValidator ,和 QRegularExpressionValidator .
[override virtual]
QSize
QLineEdit::
sizeHint
() const
重实现访问函数为特性: QWidget::sizeHint .
返回 Widget 的推荐尺寸。
返回宽度 (以像素为单位),通常够大约 15 到 20 个字符。
返回 Widget 的文本边距。
另请参阅 setTextMargins ().
[override virtual]
void
QLineEdit::
timerEvent
(
QTimerEvent
*
e
)
重实现: QObject::timerEvent (QTimerEvent *event).
返回指向当前输入验证器的指针,或
nullptr
若没有设置验证器。
另请参阅 setValidator ().