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 (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 ,和 行编辑范例 .

成员类型文档编制

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 操作,传递空字符串。

输入掩码是输入模板字符串。它可以包含以下元素:

掩码字符 定义 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 ().

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 )

这是重载函数。

创建新的动作采用给定 icon position .

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 ( int left , int top , int right , int bottom )

将框架围绕文本的边距尺寸设为 left , top , right ,和 bottom .

另请参阅 textMargins ().

void QLineEdit:: setTextMargins (const QMargins & margins )

设置 margins 围绕文本在框架内。

另请参阅 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 ().