简述
QLineEdit是一个单行文本输入框。
QLineEdit允许用户输入和编辑单行纯文本,提供了很多有用的编辑功能,包括:撤消和重做、剪切和粘贴、以及拖放(见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()信号。
注意:如果输入框有一个验证器,returnPressed()/editingFinished()信号只有在验证期返回QValidator::Acceptable的时候才会被发射。
默认情况下,QLineEdit具有由平台风格指南规定的边框,可以通过setFrame(false)将其关闭。
默认键被绑定描述如下。输入框还提供了一些编辑选项的上下文菜单(通常通过单击鼠标右键调用)。
按键 | 动作 |
---|---|
Left Arrow | 光标左移一个字符 |
Shift+Left Arrow | 光标左移并选择一个字符 |
Right Arrow | 光标右移一个字符 |
Shift+Right Arrow | 光标右移并选择一个字符 |
Home | 将光标移动到行的开头 |
End | 将光标移动到行的末尾 |
Backspace | 删除光标左侧字符 |
Ctrl+Backspace | 删除光标左侧的单词 |
Delete | 删除光标右侧字符 |
Ctrl+Delete | 删除光标右侧的单词 |
Ctrl+A | 全选 |
Ctrl+C | 复制选中的文本复制到剪贴板 |
Ctrl+Insert | 复制选中的文本复制到剪贴板 |
Ctrl+K | 删除此处至末尾所有内容 |
Ctrl+V | 粘贴剪贴板的文本到输入框中 |
Shift+I |