QLineEdit是一个单行文本编辑器,允许用户输入和编辑单行纯文本。自带一些编辑例如撤销、重做、剪切、粘贴等功能。
QLineEdit继承自QWidget类,具备父类各种API。
QLineEdit可以用作普通的输入以及密码的输入。
常用的信号有
1.文本被编辑QLineEdit.textEdited(text)
文本被编辑(只要是编辑,哪怕文本没有改变)时发射信号,带有参数(文本框内容)。但是只有用户编辑时会触发,用setText()是没用的!
2.文本被改变QLineEdit.textChanged(text)
这个和上面的基本一样,不过是只要文本发生变化就会触发信号,包括通过代码改变的文本。
3.回车键按下QLineEdit.returnPressed()
当回车键被按下时触发,无参数传递
4.结束编辑QLineEdit.editingFinished()
文本结束编辑时触发(包括按下回车键和失去焦点)
5.光标位置发生改变QLineEdit.cursorPositionChanged(self, a0: int, a1: int)
光标位置发生改变时触发,传递两个参数:a0:是光标初始位置;a1:光标移动后位置
6.选中文本发生变化QLineEdit.selectionChanged()
选中的文本发生变化时触发,无参数传递。
下面简单写个 程序,登录账号界面
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//账号输入行
ui->lineEdit_3->setText("请输入账号");//设置行编辑中的内容
ui->lineEdit_3->setTextMargins(5,5,5,5);//此函是可以指定显示的文本与输入框左上右下(顺时针)边界的间隔的像素数
ui->lineEdit_3->setClearButtonEnabled(true); //设置清空按钮开启
ui->lineEdit_3->isClearButtonEnabled(); //获取是否开启清空按钮
//密码输入行
ui->lineEdit_2->setEchoMode(QLineEdit::Password);//密码模式输入
ui->lineEdit_2->setText("请输入密码");//设置行编辑中的内容
ui->lineEdit_2->setTextMargins(5,5,5,5);//此函是可以指定显示的文本与输入框左上右下(顺时针)边界的间隔的像素数
ui->lineEdit_2->setClearButtonEnabled(true); //设置清空按钮开启
ui->lineEdit_2->isClearButtonEnabled(); //获取是否开启清空按钮
}
/*
EchoMode是一个枚举类型,有四种模式:
1.QLineEdit::Normal 模式显示方式,按照输入的内容显示
2.QLineEdit::NoEcho 不显示任何内容,此模式下无法看到用户的输入
3.QLineEdit::Password 密码模式,输入的字符会根据平台转换为特殊字符
4.QLineEdit::PasswordEchoOnEdit 编辑时显示字符否则显示字符作为密码。
*/
Widget::~Widget()
{
delete ui;
}
void Widget::on_pushButton_clicked()
{
qDebug()<<ui->lineEdit_3->text()<<"登录成功"<<endl;
}