#include #include "QJsonArray" #include "QJsonDocument" #include "QJsonValue" #include "QJsonObject" #include "administratorform.h" #include #include

#include "login.h" #include "ui_login.h" #include #include #include "QJsonArray" #include "QJsonDocument" #include "QJsonValue" #include "QJsonObject" #include "administratorform.h" #include #include

以下是对代码的注释:

#include "login.h"
#include "ui_login.h"
#include <QFile>
#include <QTextStream>
#include "QJsonArray"
#include "QJsonDocument"
#include "QJsonValue"
#include "QJsonObject"
#include "administratorform.h"
#include <QGuiApplication>
#include <QScreen>
#include "QMessageBox"

Login::Login(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    setWindowFlags(windowFlags() | Qt::FramelessWindowHint);

    // 获取主屏幕信息
    QScreen *primaryScreen = QGuiApplication::primaryScreen();
    QRect screenGeometry = primaryScreen->geometry();

    int screenWidth = screenGeometry.width();
    int screenHeight = screenGeometry.height();

    this->setFixedSize(screenWidth, screenHeight);

    ui->label_user_name->setScaledContents(true);   //图片自适应label大小
    ui->label_pwd->setScaledContents(true);         //图片自适应label大小
    ui->lineE_pwd->setEchoMode(QLineEdit::Password);//设置为小黑点

    // 1. 读取该文件内容
    QString filePath = "jsondata.json";

    // 打开JSON文件
    QFile file(filePath);
    file.open(QIODevice::ReadOnly);

     // 读取JSON数据
     jsonData = file.readAll();
     file.close();

     // 解析JSON数据
     jsonDoc = QJsonDocument::fromJson(jsonData);
     jsonObj = jsonDoc.object();
}

Login::~Login()
{
   delete ui;
}

void Login::on_btn_login_clicked()
{
   if(ui->lineE_user_name->text() == "" or ui->lineE_pwd->text() == "")
   {
      QMessageBox::warning(this, "", "请输入完整信息", QMessageBox::Yes, QMessageBox::NoButton);
      return;
   }

   // 获取用户输入的用户名和密码
   adminName = ui->lineE_user_name->text();
   password = ui->lineE_pwd->text();

   name = jsonObj[adminName].toObject();

   // 验证用户名和密码是否匹配
   if(name[adminName].toString() == password)
   {
      AdministratorForm * ad = new AdministratorForm(name);
      ad->setAttribute(Qt::WA_DeleteOnClose);
      ad->show();
      this->close();
      return;
    }
    QMessageBox::warning(this, "", "用户名或密码错误", QMessageBox::Yes, QMessageBox::NoButton);
}

void Login::on_btn_forget_clicked()
{
    this->close();
}

这段代码主要是一个登录窗口的实现,具体功能如下:

  • 在构造函数中,设置窗口属性为无边框,并根据屏幕大小调整窗口尺寸。
  • 读取名为 “jsondata.json” 的 JSON 文件内容并解析。
  • 在登录按钮点击事件中,检查用户是否输入了完整的用户名和密码。若未输入完整信息,则弹出警告提示框。
  • 获取用户输入的用户名和密码,并在 JSON 对象中查找对应的记录。
  • 如果用户名和密码匹配,则打开一个名为 AdministratorForm 的窗口并关闭当前登录窗口;否则,弹出警告提示框显示用户名或密码错误。
  • 忘记密码按钮点击事件中,关闭当前登录窗口。

以上是对代码逻辑的注释说明,没有对代码做任何修改。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处: #include #include "QJsonArray" #include "QJsonDocument" #include "QJsonValue" #include "QJsonObject" #include "administratorform.h" #include #include https://sdn.0voice.com/?id=4547

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?