• 大小: 34KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-07-25
  • 语言: 数据库
  • 标签: qt  c++  sqlite  

资源简介

该系统采用QT实现家庭财务管理系统,利用QSqlite轻量级数据库进行信息存储,设计到登录窗口设计,从登陆窗口到管理员窗口,普通用户窗口的切换,基本控件的应用,MVC模型的基本应用。

资源截图

代码片段和文件信息

#include “changepassword.h“
#include “ui_changepassword.h“

ChangePassword::ChangePassword(QWidget *parent QString name QString *Pswd) :
    QDialog(parent)
    ui(new Ui::ChangePassword)
{
    ui->setupUi(this);
    Name = name;
    OldPswd_FromPro = Pswd;
    this->setAttribute(Qt::WA_DeleteOnClose);   //设置为关闭时释放空间,防止恶意测试
    this->setWindowtitle(“修改密码“);
}

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

QString ChangePassword::GetNewPswd()
{
    return NewPswd;
}

QString ChangePassword::GetName()
{
    return Name;
}

QString ChangePassword::GetOldPswd()
{
    return OldPswd;
}

QString *ChangePassword::GetNewPswd_Mng()
{
    return OldPswd_FromPro;
}

void ChangePassword::on_SurePushButton_clicked()
{
    QString OldPswd_FromUser = ui->OldLineEdit->text().trimmed();  //输入旧密码
    NewPswd = ui->NewLineEdit->text().trimmed();  //输入新密码
    QString CertainPswd = ui->CertainLineEdit->text().trimmed();//输入确认的新密码
    if(Name == ““)
    {
        if(encrypt(OldPswd_FromUser) == *OldPswd_FromPro)
        {
            if(NewPswd == CertainPswd && NewPswd != ““)
            {
                OldPswd_FromPro = new QString(NewPswd);
                this->accept();
                return;
            }
            else
            {
                QMessageBox::warning(this “警告“  “新密码与确认密码不符或密码为空“ QMessageBox::Ok);
                return;
            }
        }
        QMessageBox::warning(this “警告“  “旧密码错误“ QMessageBox::Ok);
        return;
    }
    else
    {
        QSqlDatabase DB;      //使用默认连接
        DB = QSqlDatabase::addDatabase(“QSQLITE“); //添加 SQL LITE数据库驱动
        DB.setDatabaseName(“../familyDb.db“);      //设置数据库名
        if (!DB.open())   //打开数据库
        {
            qDebug()<<“在密码对话框数据库无法打开!“;
            return ;
        }
        else
        {
            qDebug()<<“在密码对话框数据库成功打开!“;
        }
        QSqlQuery query(DB);
        query.exec(“select * from familybase“);
        while(query.next())
        {
            if(query.value(7).toString() == OldPswd)
            {
                if(NewPswd == CertainPswd && NewPswd != ““)
                {
                    this->accept();
                    return;
                }
                else
                {
                    QMessageBox::warning(this “警告“  “新密码与确认密码不符或密码为空“ QMessageBox::Ok);
                    return;
                }
            }
        }
        QMessageBox::warning(this “警告“  “旧密码错误“ QMessageBox::Ok);
        return;
    }
}

QString ChangePassword::encrypt(const QString &str)
{//字符串MD5算法加密
    QByteArray btArray;

    btArray.append(str);//加入原始字符串

    QCryptographicHash hash(QCryptographicHash::Md5);  //Md5加密算法

    hash.addData(btArray);  //添加数据到加密哈希值

    QByteArray resultArray =hash.result();  //返回最终的哈希值

    QString md5 =resultArray.toHex();//转换为16进制字符串

    return  md5;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        3330  2019-10-13 22:24  changepassword.cpp
     文件        1044  2019-10-13 22:24  changepassword.h
     文件        6244  2019-10-13 15:02  changepassword.ui
     文件        1606  2019-10-13 14:12  easyFamily.pro
     文件       24889  2019-10-13 23:18  easyFamily.pro.user
     文件       24888  2019-09-24 13:22  easyFamily.pro.user.4.10-pre1
     文件       21352  2019-10-13 10:18  infoentry.cpp
     文件        4419  2019-10-10 15:43  infoentry.h
     文件       22538  2019-10-13 12:09  infoentry.ui
     文件        6267  2019-10-13 22:26  logindlg.cpp
     文件        1905  2019-10-14 23:22  logindlg.h
     文件        5175  2019-10-13 21:26  logindlg.ui
     文件         767  2019-10-13 00:13  main.cpp
     文件       16080  2019-10-13 23:16  mainwindow.cpp
     文件        2740  2019-10-13 23:16  mainwindow.h
     文件       26728  2019-10-13 21:28  mainwindow.ui
     文件        7876  2019-10-13 23:18  subwindow.cpp
     文件        1551  2019-10-13 23:18  subwindow.h
     文件        7107  2019-10-13 14:33  subwindow.ui

评论

共有 条评论