Qt笔记01【控件:QLineEdit】

一、控件的描述

QLineEdit是一个单行文本编辑控件。使用者可以通过很多函数,输入和编辑单行文本,比如撤销、恢复、剪切、粘贴以及拖放等。

二、函数应用

void setValidator(const QValidator * v)

限制文本输入框的内容。

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

(1)输入int类型整数:

//限制输入0-100的整数
QIntValidator *validator = new QIntValidator(0, 100, this);
ui->lineEdit->setValidator(validator);

 (2)输入浮点数类型 限制

//限制小数点后两位0.00-0.99
QDoubleValidator *validator = new QDoubleValidator(0, 100, 2, this);
ui->lineEdit->setValidator(validator);
//给m_editX和m_editY添加浮点数验证器
//ui->m_editX->setValidator(new QDoubleValidator(this));
//ui->m_editY->setValidator(new QDoubleValidator(this));

(3)正则表达式 限制

//-90 到 90 限制了小数点后4位的输入区间限制
QRegExp wx("^-?(90|[1-8]?\\d(\\.\\d{1,4})?)$");
QRegExpValidator *latitude = new QRegExpValidator(wx, this);
ui->lineEdit_4->setValidator(latitude);

(4)无限 限制

ui->lineEdit_4->setValidator(0);

void setReadOnly(bool status)

只读模式;

通过设置setReadOnly接口的true或false来控制QLineEdit是否启用该模式。在只读模式下,用户仍然可以将文本复制到剪贴板,或者拖放文本(但回显需是Normal模式),但是不能编辑它。另外只读模式下不显示光标。默认为false。

//启用只读模式
ui->lineEdit->setReadOnly(true);

void setText ( const QString & )

设置行编辑框内的文本内容

ui->lineEdit->setText("123");

void setEchoMode ( EchoMode )

设置行编辑框内文本的显示模式

(1)QLineEdit::Normal:默认,输入什么即显示什么

QLineEdit *edit = new QLineEdit;
edit->setEchoMode(QLineEdit::Normal);

(2)QLineEdit::Password:密码,一般是用小黑点覆盖你所输入的字符

ui->lineEdit->setEchoMode(QLineEdit::Password);

(3)QLineEdit::PasswordEchoOnEdit:编辑时输入字符显示输入内容,其他时候用小黑点代替

ui->lineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);

(4)QLineEdit::NoEcho:任何输入都看不见(只是看不见,不是不能输入)

ui->lineEdit->setEchoMode(QLineEdit::NoEcho);

void setEnabled(bool)

设置是否激活行编辑框

//不可编辑
ui->lineEdit->setEnabled(false);

QString text () const

获取行编辑文本内容

//将编辑文本框的内容123获取并赋值给value
QLineEdit *edit = new QLineEdit;
edit->setText("123");
QString value = edit->text();

void QLineEdit::focusInEvent ( QFocusEvent * e )

[virtual protected](虚函数,实现时必须重写)

获得焦点,即光标在文本框里面一闪一闪的

void QLineEditEx::focusInEvent(QFocusEvent* event)
{
    QLineEdit::focusInEvent(event);
 
    QTimer::singleShot(0, this, &QLineEdit::selectAll);
}

setPlaceholderText(const QString &placeholderText)

 只要QLineEdit为空,设置此属性就会使编辑器显示灰色占位符文本。

ui->m_editX->setPlaceholderText(tr("请输入温度"));
//m_editX为QLineEdit

三、网站收录 

QLineEdit 各类操作详解

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值