天天看点

Qt开发之QLineEdit简单介绍

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;
}
           
Qt开发之QLineEdit简单介绍

继续阅读