QT QLineEdit

QLineEdit

作为单行文本输入框,用于轻量的文本处理

line->setText();//设置/返回line中的text
line->setAlignment();//设置对齐方式
line->displayText();//与text区别在于,返回的是显示的文本,如password模式下返回的是"****"而不是密码本身
line->setReadOnly();//设置是否只读
line->setTextMargins();//设置line里面的边距

line->deselect();//取消选中text
line->selectedText();//返回选中的text
line->setSelection(start,len);//从start开始选中len个字符


line->cursorPosition();//返回当前编辑的光标所在位置(第几个字符)
line->setEchoMode();//设置line的输入模式
line->setMaxLength();//设置最大允许长度
line->setPlaceholderText();//设置占位符

line->copy/cut/paste/clear/redo/undo/selectAll;//粘贴等基本操作

//设置掩码格式,设置后只能按照此格式输入
/*常用9=单个是必须要的,0-9、0=单个是允许的,但不是必须要的
A=单个字符是必须的,A-Z、a-z。a=单个字符是允许的,但不是必须的
>=所有的字符字母都大写<=所有的字符字母都小写*/
//如000.aa.0=三个数字.两个字符.一个数字
line->setInputMask("000.000.000.000");

//设置验证器,即line只接受设置好的文本,常用如下
//1-99的整数
QIntValidator *pIntValidator = new QIntValidator(this);
pIntValidator->setRange(1, 99);

//-360-360,精度为2的小数
QDoubleValidator *pDoubleValidator = new QDoubleValidator(this);
pDoubleValidator->setRange(-360, 360);
pDoubleValidator->setNotation(QDoubleValidator::StandardNotation);
pDoubleValidator->setDecimals(2);

//使用正则,方法更jb多
QRegExp reg("[a-zA-Z0-9]+$");
QRegExpValidator *pValidator = new QRegExpValidator(this);
pValidator->setRegExp(reg);
line->setValidator()//添加组件到line中
//1 添加action到line中,还可指定action的位置(只有左/右),配合信号槽很强大
line->addAction(a,pos);
//2 line本身就是一个widget,可以通过将组件插入到layout中,在设置layout为line的layout即可实现添加组件
QHBoxLayout *pSearchLayout = new QHBoxLayout();
pSearchLayout->addStretch();
pSearchLayout->addWidget(pSearchButton);
pSearchLayout->setSpacing(0);
pSearchLayout->setContentsMargins(0, 0, 0, 0);
m_pSearchLineEdit->setLayout(pSearchLayout);

信号槽

//选中text改变就触发,setText()会触发
void selectionChanged()
//line中的文本改变就触发,setText()也会触发
void textChanged(const QString & text)
//与changed一样,但set不会触发
void textEdited(const QString & text)
//编辑的光标移动就触发,old是移动前的位置,new是移动后的位置,setCursorPosition()会触发?
void cursorPositionChanged(int old, int new)
//当编辑完成,即输入框失去焦点,或Return/Enter键被按下时触发
//注意若line有validator或掩码,那么只有当输入的文本符合格式才会触发这个信号
void editingFinished()
//当return或回车键按下时触发
void returnPressed()

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值