注册成功后方可登陆,登陆成功后打开摄像头并开始答题
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QIcon"
#include "QPixmap"
#include "QPushButton"
#include "QDebug"
#include "QString"
#include "QMessageBox"
#include <QFile>
#include <QTextStream>
#include <exam.h>
#include <ui_exam.h>
#include <QDialog>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowIcon(QIcon(":/untitled/091029.jpg"));
QPixmap pic(":/untitled/2116021042.jpg");
ui->picLabel->setPixmap(pic.scaled(ui->picLabel->width(),ui->picLabel->height()));
connect(ui->regisBtn,&QPushButton::clicked,this,&MainWindow::regisClickSlot);
connect(ui->loginBtn,&QPushButton::clicked,this,&MainWindow::loginBtnSlot);
}
void MainWindow::regisClickSlot()
{
qDebug() << "注册按钮被按下" << endl;
QString account = ui->accountInfo->text();
QString password = ui->passwordInfo->text();
qDebug() << "account:" << account << ",password" << password << endl;
// 检查新注册的用户是否已经在文件中
QFile file("registered_accounts.txt");
bool isUserExist = false;
if (file.open(QIODevice::ReadOnly))
{
QTextStream stream(&file);
while (!stream.atEnd())
{
QString line = stream.readLine();
QStringList parts = line.split(",");
if (parts.size() >= 2 && parts[0] == account)
{
isUserExist = true;
break;
}
}
file.close();
}
if (isUserExist)
{
QMessageBox::warning(this, "注册", "该账户已经存在");
}
else
{
// 将注册信息保存到文件
if (file.open(QIODevice::WriteOnly | QIODevice::Append))
{
QTextStream stream(&file);
stream << account << "," << password << endl;
file.close();
}
QMessageBox::information(this, "注册", "注册成功");
}
}
void MainWindow::loginBtnSlot()
{
qDebug() << "登陆按钮被按下" << endl;
QString account = ui->accountInfo->text();
QString password = ui->passwordInfo->text();
qDebug() << "account:" << account << ",password" << password << endl;
// 从文件中读取注册信息进行验证
QFile file("registered_accounts.txt");
if (file.open(QIODevice::ReadOnly))
{
QTextStream stream(&file);
while (!stream.atEnd())
{
QString line = stream.readLine();
QStringList parts = line.split(",");
if (parts.size() >= 2)
{
if (parts[0] == account && parts[1] == password)
{
QMessageBox::information(this, "登录", "登录成功");
return;
}
}
}
file.close();
}
QMessageBox::warning(this, "登录", "账户名或密码错误");
}
MainWindow::~MainWindow()
{
delete ui;
}