資源簡介
該系統采用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
評論
共有 條評論