行编辑控件。
此控件具有默认的按键操作:
1、enum QLineEdit::ActionPosition:此枚举描述了应如何显示要添加的动作小部件。
2、enum QLineEdit::EchoMode:此枚举描述了应如何显示内容。
1、【只读】acceptableInput : const bool
输入是否要满足 inputMask 和验证器。默认为 true。
2、alignment : Qt::Alignment
对齐方式,默认为 Qt::AlignLeft | Qt::AlignVCenter。
3、clearButtonEnabled : bool
是否在非空时显示清除按钮。默认为 false。
4、cursorMoveStyle : Qt::CursorMoveStyle
光标的移动方式。默认为 Qt::LogicalMoveStyle。
- Qt::LogicalMoveStyle:在从左到右的文本块内,按左箭头键时减少光标位置,按右箭头键时增加光标位置。如果文本块是从右到左的,则应用相反的行为。
- Qt::VisualMoveStyle:按下左箭头键将始终使光标向左移动,无论文本的书写方向如何。 按右箭头键将始终使光标向右移动。
5、cursorPosition : int
当前光标位置。默认为 0。在适当的时候设置光标位置会导致重绘。
6、displayText : const QString
显示的文本。
- 如果 echoMode 为 Normal,则返回与 text() 相同的值
- 如果 echoMode 为 Password 或 PasswordEchoOnEdit 则返回一个平台相关的密码掩码字符串,例如“******”
- 如果 echoMode 为 NoEcho,则返回一个空字符串“”。
7、dragEnabled : bool
选择的文本是否可拖动,默认为 false。
上图上面的可拖动下面的不可拖动。
8、echoMode : EchoMode
显示模式。默认为 Normal。
9、frame : bool
是否使用特定于平台的框架绘制自身。默认为 true。
10、【只读】hasSelectedText : const bool
是否有任何文本被选中。
11、inputMask : QString
验证输入掩码。
验证器可以代替掩码使用,也可以与掩码结合使用。
通过传递一个空字符串 ("") 取消设置掩码并返回到正常的 QLineEdit 操作。
输入掩码是输入模板字符串。它可以包含以下元素:
掩码(小写字母表示与大写字母同类型但不是必须的):
元字符:
如果当前内容不满足输入掩码的要求,则 hasAcceptableInput() 方法返回 false。
例如:
12、maxLength : int
文本的最大允许长度。默认为 32767。如果文本太长,则在限制处截断。
如果行编辑具有 inputMask,则 inputMask 定义最大字符串长度。
13、modified : bool
内容是否已被用户修改。
用户更改内容时为 true。调用 setText() 为 false。
14、placeholderText : QString
占位符文本。
只要行编辑为空,设置此属性就会显示灰色的占位符文本。
15、readOnly : bool
是否为只读。默认为 false。
在只读模式下,用户仍然可以将文本复制到剪贴板,或者拖放文本(如果 echoMode() 为 Normal),但不能对其进行编辑。
QLineEdit 在只读模式下不显示光标。
16、【只读】redoAvailable : const bool
当前回撤是否可用。默认为 false。
一旦用户对行编辑中的文本执行了一个或多个撤消操作,回撤就可用。
17、【只读】selectedText : const QString
选定的文本。
18、text : QString
文本。设置此属性会清除选择、清除撤消/重做历史、将光标移动到行尾并将 modified 属性重置为 false。使用 setText() 插入文本时不会验证文本。
19、【只读】undoAvailable : const bool
撤消是否可用。一旦用户修改了行编辑中的文本,撤消就可用。
1、void clear()
清除内容。
2、void copy()
将选定的文本复制到剪贴板。
3、【信号】void cursorPositionChanged(int oldPos, int newPos)
每当光标移动时都会发出此信号。以前的位置由 oldPos 给出,新的位置由 newPos 给出。
4、void cut()
剪切选中的文本。如果当前验证器不允许删除选定的文本,则将复制而不删除。
5、【信号】void editingFinished()
当按下 Return 或 Enter 键时,或者如果失去焦点并且自上次发出此信号以来其内容已更改,则会发出此信号。
6、【信号】void inputRejected()
当用户按下不被认为是可接受输入的键时,或者尝试输入超出最大长度的更多字符。会发出此信号。
在部分文本被接受但不是全部被接受的情况下,也会发出此信号。例如,如果设置了最大长度,并且剪贴板文本在粘贴时比最大长度长的时候。
7、void paste()
在光标位置插入剪贴板的文本,删除任何选定的文本。
8、void redo()
如果回撤可用,则回撤最后一个操作。
9、【信号】void returnPressed()
该信号在按下 Return 或 Enter 键时发出。
10、void selectAll()
选择所有文本并将光标移动到末尾。
11、【信号】void selectionChanged()
只要选择内容发生变化,就会发出该信号。
12、【信号】void textChanged(const QString &text)
每当文本更改时都会发出此信号。text 参数是新文本。
与 textEdited() 不同,此信号也会在以编程方式更改文本时发出,例如调用 setText()。
13、【信号】void textEdited(const QString &text)
每当编辑文本时都会发出此信号。text 参数是新文本。
与 textChanged() 不同,当以编程方式更改文本时不会发出此信号。
14、void undo()
如果撤消可用,则撤消最后一个操作。
15、void addAction(QAction *action, QLineEdit::ActionPosition position)
QAction *addAction(const QIcon &icon, QLineEdit::ActionPosition position)
将动作添加到该位置的动作列表中。
QIcon icon = QApplication::style()->standardIcon((QStyle::StandardPixmap)0);
auto action = new QAction(icon,"测试");
ui->lineEdit->addAction(action,QLineEdit::LeadingPosition);
QIcon icon = QApplication::style()->standardIcon((QStyle::StandardPixmap)0);
auto action = new QAction(icon,"测试");
ui->lineEdit->addAction(action,QLineEdit::TrailingPosition);
16、void backspace()
如果未选择文本,则删除文本光标左侧的字符并将光标向左移动一位。如果选择了任何文本,则光标将移动到所选文本的开头并删除所选文本。
17、void contextMenuEvent(QContextMenuEvent *event)
显示使用 createStandardContextMenu() 创建的标准上下文菜单。
- 如果不希望行编辑有上下文菜单,可以将其 contextMenuPolicy 设置为 Qt::NoContextMenu。
- 如果要自定义上下文菜单,重新实现此功能。
- 如果要扩展标准上下文菜单,重新实现此函数,调用 createStandardContextMenu() 并扩展返回的菜单。
void LineEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu *menu = createStandardContextMenu();
menu->addAction(tr("My Menu Item"));
//...
menu->exec(event->globalPos());
delete menu;
}
18、QMenu *createStandardContextMenu()
创建标准上下文菜单,当用户用鼠标右键单击行编辑时显示该菜单。它从默认的 contextMenuEvent() 处理程序中调用。弹出菜单的所有权转移给调用者。
19、void cursorBackward(bool mark, int steps = 1)
void cursorForward(bool mark, int steps = 1)
将光标向后 / 前移动 steps 个字符。如果 mark 为 true,则每个移过的字符都将被到选中,否则取消选中。
20、void cursorWordBackward(bool mark)
void cursorWordForward(bool mark)
将光标向 / 前后移动一个单词。如果 mark 为 true,则该词也被选中。
21、void del()
如果未选择文本,则删除文本光标右侧的字符。如果选择了任何文本,则光标将移动到所选文本的开头并删除所选文本。
22、void deselect()
取消选择所有选中的文本。
23、void end(bool mark)
void home(bool mark)
将文本光标移动到行尾。如果 mark 为 true,则选择最后一个位置的文本;否则取消选择已经选中的文本。
24、void insert(const QString &newText)
删除任何选定的文本,并验证 newText,有效则插入 newText。
25、int selectionEnd()
int selectionStart()
返回选中的 最后一个 / 第一个 字符的索引,如果没有选择文本,则返回 -1。
26、int selectionLength()
返回选择的长度。
27、void setCompleter(QCompleter *c)
设置完成器。
28、void setSelection(int start, int length)
从位置 start 和长度 length 选择文本。允许负长度。
29、void setTextMargins(int left, int top, int right, int bottom)
设置框架内文本周围的边距。
30、void setValidator(const QValidator *v)
设置验证器。