QLineEdit格式化输入
QLineEdit是一个单行文本编辑控件。通过改变QLineEdit的 echoMode() ,可以设置其属性,比如以密码的形式输入。可以通过使用 validator() 或者 inputMask() 可以限制它只能输入数字。
文本改变时会发出 textChanged() 信号;如果不是由setText()造成文本的改变,那么会发出textEdit()信号;鼠标光标改变时会发出cursorPostionChanged()信号;当返回键或者回车键按下时,会发出returnPressed()信号。当编辑结束,或者LineEdit失去了焦点,或者当返回/回车键按下时,editFinished()信号将会发出。
QLineEdit 接收用户输入
显示模式 | 效果 |
---|---|
QLineEdit::Normal | 正常显示 |
QLineEdit::NoEcho | 不显示 |
QLineEdit::Password | 密码显示 |
QLineEdit::PasswordEchoOnEdit | 编辑时候正常显示,其他密码显示 |
掩码字符 inputMask
字符(必须输入) | 字符(可留空) | 含义 |
---|---|---|
A | a | 只能输入A-Z,a-z |
N | n | 只能输入A-Z,a-z,0~9 |
X | x | 可以输入任意字符 |
9 | 0 | 只能输入0-9 |
D | d | 只能输入1-9 |
# | 只能输入+, -, 0-9 | |
H | h | 只能输入十六进制字符 (0-9,a-f,A-F) |
B | b | 只能输入二进制字符(0,1) |
> | 后面的字母字符自动转换为大写 |
---|---|
< | 后面的字母字符自动转换为小写 |
! | 停止字母字符的大小写转换 |
\ | 将该表中的特殊字符正常显示用作分隔符 |
;c | 终止输入掩码并将空白字符设置为c |
保留. |
inputMaskLineEdit->setInputMask( "+99 99 99 99 99;_" );
setValidator()对输入进行限制
在对同一个QLineEdit的validator或者input mask进行转换时,最好先将它的validator或者input mask清除,以避免错误发生。
//无限制 |