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 (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 * 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 | 删除光标左侧的单词。 |
删除 | 删除光标右侧字符。 |
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 操作,传递空字符串。
输入掩码是输入模板字符串。它可以包含以下元素:
掩码字符 | 定义 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 ().
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 ().
将框架围绕文本的边距尺寸设为 left , top , right ,和 bottom .
另请参阅 textMargins ().
设置 margins 围绕文本在框架内。
另请参阅 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 ().