当前位置:   article > 正文

QLineEdit和QPushButton实现了输入用户名、密码并验证的功能_qlineedit输入密码

qlineedit输入密码

使用QLineEdit和QPushButton实现了输入用户名、密码并验证的功能。该程序使用正则表达式限制了用户名和密码只能包含数字、字母和下划线,且长度在4到16个字符之间。如果输入的用户名和密码符合要求,则弹出一个消息框显示“登录成功”,否则弹出一个消息框显示“登录失败”。

#include <QApplication>
#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QMessageBox>
#include <QRegExpValidator>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QWidget w;
    w.resize(300, 150);

    QLineEdit userLineEdit(&w);
    userLineEdit.setPlaceholderText("请输入用户名");
    userLineEdit.setGeometry(50, 30, 200, 30);
    QRegExp userRegExp("[A-Za-z0-9_]{4,16}");
    userLineEdit.setValidator(new QRegExpValidator(userRegExp, &userLineEdit));

    QLineEdit passwordLineEdit(&w);
    passwordLineEdit.setPlaceholderText("请输入密码");
    passwordLineEdit.setGeometry(50, 70, 200, 30);
    passwordLineEdit.setEchoMode(QLineEdit::Password);
    //限制输入中文和中文字符
    //QRegExp passwordRegExp("^[A-Za-z0-9`~!@#$%^&*()_-+=<>,.\\\/]+$") 
    QRegExp passwordRegExp("[A-Za-z0-9_]{4,16}");
    passwordLineEdit.setValidator(new QRegExpValidator(passwordRegExp, &passwordLineEdit));

    QPushButton loginButton("登录", &w);
    loginButton.setGeometry(100, 110, 100, 30);
    QObject::connect(&loginButton, &QPushButton::clicked, [&]() {
        QString username = userLineEdit.text();
        QString password = passwordLineEdit.text();
        if (userLineEdit.hasAcceptableInput() && passwordLineEdit.hasAcceptableInput()) {
            if (username == "admin" && password == "123456") {
                QMessageBox::information(&w, "登录成功", "欢迎您,管理员!");
            } else {
                QMessageBox::warning(&w, "登录失败", "用户名或密码错误,请重试!");
            }
        } else {
            QMessageBox::warning(&w, "输入错误", "用户名或密码格式错误,请重新输入!");
        }
        //判断QLineEdit内容是否合法
        //bool wifiPassState;
    	//QRegExp regx("^[A-Za-z0-9`~!@#$%^&*()_-+=<>,.\\\/]+$");//禁止输入中文字符	
    	//wifiPassState = regx.exactMatch(ui.passwordLineEdit.text());
    	//if(wifiPassState)
    	//{
	    //   	 qDebug() << QStringLiteral("wifiPassword格式正确!");
	    //}
    	//else
    	//{
        //	qDebug() << QStringLiteral("wifiPassword格式错误!");
        //	QMessageBox::warning(this, "输入错误", "WiFi密码禁止中文,请重新输入!");
        //	return ;
   	 	//}
        
    });

    w.show();

    return a.exec();
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/299829
推荐阅读
相关标签
  

闽ICP备14008679号