驾校科目一考试系统——验证账号密码
Posted dearQiHao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了驾校科目一考试系统——验证账号密码相关的知识,希望对你有一定的参考价值。
账号密码信息
开始
回到登录的槽函数。
完整代码
#include "logindialog.h"
#include "ui_logindialog.h"
#include <QMessageBox>
#include <QFile>
#include <QTextStream>
LoginDialog::LoginDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::LoginDialog)
ui->setupUi(this);
ui->imgLabel->setScaledContents(true);
resize(ui->imgLabel->width(),ui->imgLabel->height());
//设置窗体固定大小,这样就不能用鼠标来调整界面大小了
setFixedSize(width(),height());
setWindowTitle("驾校科目一考试登录");
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
LoginDialog::~LoginDialog()
delete ui;
void LoginDialog::on_loginBtn_clicked()
//正则验证邮箱地址 用户名@域名 80808080@qq.com
//元字符解释:^表示规则字符串的开始 $表示规则字符串的结束
//+表示匹配次数≥1次 *表示匹配任意次数(可为0次) n,m表示匹配次数至少n次,至多m次
QRegExp rx("^[A-Za-z0-9]+([_\\.][A-Za-z0-9]+)*@([A-Za-z0-9\\-]+\\.)+[A-Za-z]2,6$");
bool res = rx.exactMatch(ui->accountEdit->text());
if(!res)//匹配不成功
QMessageBox::information(this,"提示","非法的邮箱地址,请你重新输入!");
ui->accountEdit->clear();
ui->codeEdit->clear();
ui->accountEdit->setFocus();
return;
else
QString filename; //账号密码数据文件
QString strAccInput;//用户输入的账号
QString strCode; //用户输入的密码
QString strLine; //每次读取的一行数据
QStringList strList;//保存分割读取的一行数据
filename = "account.txt";
strAccInput = ui->accountEdit->text();
strCode = ui->codeEdit->text();
QFile file(filename);
QTextStream stream(&file);
if( file.open(QIODevice::ReadOnly | QIODevice::Text) )
while(!stream.atEnd())
strLine = stream.readLine();
strList = strLine.split(",");
if(strAccInput == strList.at(0))//账号匹配成功
if(strCode == strList.at(1))//密码匹配成功
QMessageBox::information(this,"提示","欢迎进入科目一考试系统!");
file.close();
done(Accepted);
return;
else
QMessageBox::information(this,"提示","您输入的密码有误,请重新输入!");
ui->codeEdit->clear();
ui->codeEdit->setFocus();
file.close();
return;
QMessageBox::information(this,"提示","您输入的账号有误,请重新输入!");
ui->accountEdit->clear();
ui->codeEdit->clear();
ui->accountEdit->setFocus();
file.close();
return;
else
QMessageBox::information(this,"提示","读取账号数据文件失败!");
return;
运行
正确输入
错误输入
将密码框进行隐藏
回到设计模式,点击面框将其设为密码模式。
运行结果
以上是关于驾校科目一考试系统——验证账号密码的主要内容,如果未能解决你的问题,请参考以下文章