QLineEdit

QLineEdit

简述

QLineEdit是一个单行文本输入框。
QLineEdit允许用户输入和编辑单行纯文本,提供了很多有用的编辑功能,包括:撤消和重做、剪切和粘贴、以及拖放

文本的长度可以被限制为maxLength(),可以使用一个validator()或inputMask()来任意限制文本。当在同一个输入框中切换验证器和输入掩码的时候,最好是清除验证器或输入掩码,防止不确定的行为。
可以使用setText()或insert()来改变文本,通过text()来获取文本;显示的文本通过displayText()来获取。文本可以使用setSelection()或selectAll()来选中,选中的文本可以被cut()、copy()和paste(),使用setAlignment()来设置文本的对齐方式。

信号相关

当文本改变时,会发射textChanged()信号。当使用setText()改变文本时,textEdited()信号也会发射。光标位置发生变化时,会发射cursorPositionChanged()信号,当Return或Enter键被按下时,发射returnPressed()信号。

当编辑完成,或者是因为输入框失去焦点,或Return/Enter键被按下时,发出的editingFinished()信号。

常用接口

·QString text() const
返回输入框的当前文本。

·void addAction(QAction * action, ActionPosition position)

QAction * addAction(const QIcon & icon, ActionPosition position)
添加action至指定位置。

·Qt::Alignment alignment() const

void setAlignment(Qt::Alignment flag)

alignment : Qt::Alignment
属性保存了输入框的对齐方式(水平和垂直方向)。Qt::AlignJustify映射到Qt::AlignLeft。
默认情况下,该属性包含Qt::AlignLeft和Qt::AlignVCenter。

·QCompleter* completer() const

QCompleter
模糊查询匹配器,在编辑框内输入前几个字符就能出现匹配的若干项。
void setCompleter(QCompleter * c)

·void deselect()
取消选中任何已选中的文本。

·setEchoMode(Mode)输入回显的方式
1、默认,输入什么即显示什么
setEchoMode(QLineEdit::Normal);
2、密码,一般是用小黑点覆盖你所输入的字符
setEchoMode(QLineEdit::Password);
3、编辑时输入字符显示输入内容,否则用小黑点代替
setEchoMode(QLineEdit::PasswordEchoOnEdit);
4、任何输入都看不见(只是看不见,不是不能输入)
setEchoMode(QLineEdit::NoEcho);

·QString displayText() const
返回显示的文本。默认值为一个空字符串。
返回显示的文本。默认值为一个空字符串。
如果echoMode是Normal,和text()返回的一样;如果EchoMode是Password或PasswordEchoOnEdit,会返回平台相关的密码掩码字符,长度为text().length(),例如:"******";如果EchoMode是NoEcho,返回一个空字符串""。

·QString selectedText() const
返回选中的的文本。如果没有选中,返回一个空字符串。默认为一个空字符串。

·int cursorPosition() const

void setCursorPosition(int)

cursorPosition : int
属性包含输入框当前光标的位置。设置光标位置时,会导致应有的重绘。默认情况下,属性值为0。

·int maxLength() const

void setMaxLength(int)

maxLength : int
此属性包含文本的最大允许长度。如果文本太长,将从限制的位置截断。默认值为32767。
如果发生截断任何选中的文本将取消选中,光标位置设置为0,并且显示字符串的第一部分。
如果输入框有一个输入掩码,那么,掩码定义字符串的最大长度。

·QString placeholderText() const

void setPlaceholderText(const QString &)

placeholderText : QString
当输入框为空时,输入框显示一个灰色的占位符文本。默认值为一个空字符串。
通常,一个空的输入框显示占位符文本,即使它有焦点。然而,如果内容水平居中,当输入框有焦点时,占位符文本不显示在光标下。

·bool isReadOnly() const

void setReadOnly(bool)

readOnly : bool
此属性保存输入框是否为只读。
在只读模式下,用户仍然可以将文本复制到剪贴板,或拖放文本(如果echoMode()是Normal),但不能编辑它。
只读模式下,QLineEdit也不显示光标。

·void setSelection(int start, int length)
从位置start选择文本为length个字符,允许负长度。

·void setValidator(const QValidator * v)
设置输入框的验证器,将限制任意可能输入的文本。如果v == 0,将会清除当前的输入验证器
如果v = = 0,setValidator()删除当前的输入验证器。初始设置是没有输入验证器(即:接受任何输入到maxLength())。

const QValidator * validator() const
返回一个当前输入的验证器指针,如果没有设置验证器,返回0。

·QString inputMask() const

void setInputMask(const QString & inputMask)

inputMask : QString
此属性保存验证器的输入掩码。如果没设置研发,inputMask() 或返回一个空字符串。传递一个空字符串可以取消验码并返回一个正常QLineEdit

信号

void selectionChanged()
只要选择改变这个信号就会被发射。

void cursorPositionChanged(int old, int new)
只要光标移动,这个信号就会发射。前面的位置old,新的位置是new。

void editingFinished()

void returnPressed()

void textChanged(const QString & text)

void textEdited(const QString & text)

共有槽

void clear()
清除输入框内容

void copy() const
如果echoMode()是Normal,将选中的文本复制到剪贴板。

void cut()
如果echoMode()是Normal,将所选文本复制到剪贴板并删除它。
如果当前的验证不允许删除选定的文本,cut()将复制而不删除。

void paste()
如果输入框不是只读的,插入剪贴板中的文本到光标所在位置,删除任何选定的文本。
如果最终的结果不被当前的验证器接受,将没有任何反应。

void redo()
重做上次操作,如果redo可用(isRedoAvailable() )。

void selectAll()
选中所有文本(即:高亮),并将光标移动到末尾。当一个默认值被插入时,这非常有用,因为如果用户在点击部件之前就输入,选中的文本将被删除。

void setText(const QString &)
设置输入框显示的文本。

void undo()
撤消上次操作,如果撤消可用( isUndoAvailable())。取消任何当前的选中,并更新选中到当前光标位置。

更多内容可以看链接:https://blog.csdn.net/liang19890820/article/details/52044639

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值