You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.7 KiB
99 lines
2.7 KiB
#include "login.h"
|
|
#include "ui_login.h"
|
|
#include <QMessageBox>
|
|
#include "signal.h"
|
|
#include <QSqlQuery>
|
|
#include <QString>
|
|
#include <QDebug>
|
|
#include "widget.h"
|
|
#include <QGraphicsDropShadowEffect> //设置阴影
|
|
#include <QMovie> // 包含QMovie的头文件
|
|
|
|
#include <QMediaPlayer>
|
|
#include <QMediaPlaylist>
|
|
#include <QUrl>
|
|
|
|
login::login(QWidget *parent) : QDialog(parent),
|
|
ui(new Ui::login)
|
|
{
|
|
ui->setupUi(this);
|
|
sign = new sign_in;
|
|
w = new Widget;
|
|
|
|
QMediaPlaylist *musicList = new QMediaPlaylist(this); // 创建音乐播放列表
|
|
musicList->addMedia(QUrl::fromLocalFile("D:/sparking111dui/111/park/yun.wav")); // 添加本地音乐文件
|
|
|
|
QMediaPlayer *soundPlayer = new QMediaPlayer(this); // 创建音乐播放器
|
|
soundPlayer->setPlaylist(musicList); // 设置音乐播放列表
|
|
soundPlayer->play(); // 播放音乐
|
|
|
|
// 如果只有一首音乐,设置为循环播放
|
|
musicList->setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);
|
|
soundPlayer->setVolume(80);
|
|
|
|
//插入图片
|
|
QPixmap house(":/house.jpg");
|
|
ui->label_3->setPixmap(house);
|
|
//设置阴影
|
|
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this);
|
|
shadow->setOffset(-3, 0);
|
|
shadow->setColor(QColor("#888888"));
|
|
shadow->setBlurRadius(30);
|
|
ui->label_3->setGraphicsEffect(shadow);
|
|
|
|
//动图
|
|
QMovie *movie = new QMovie(":/sun.gif");
|
|
ui->label_2->setMovie(movie);
|
|
movie->start();
|
|
|
|
connect(ui->pass, &QLineEdit::returnPressed, this, &login::on_login_2_clicked);
|
|
|
|
this->setWindowFlags(Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
|
|
|
|
}
|
|
|
|
login::~login()
|
|
{
|
|
delete ui;
|
|
delete sign;
|
|
delete w;
|
|
}
|
|
|
|
void login::on_exit_clicked()
|
|
{
|
|
close();
|
|
}
|
|
|
|
void login::on_login_2_clicked()
|
|
{
|
|
QString username = ui->name->text();
|
|
QString userpwd = ui->pass->text();
|
|
|
|
// 使用在 main 中创建的数据库连接
|
|
QSqlDatabase db = QSqlDatabase::database("text01");
|
|
|
|
if (!db.isOpen()) {
|
|
QMessageBox::warning(this, tr("警告!"), tr("数据库未打开!"), QMessageBox::Yes);
|
|
return;
|
|
}
|
|
|
|
QString userQuery = QString("select * from user where name='%1' and pass='%2' ").arg(username).arg(userpwd);
|
|
QSqlQuery query(db); // 使用 db 对象来执行查询
|
|
if (query.exec(userQuery) && query.next()) {
|
|
w->show();
|
|
this->hide();
|
|
} else {
|
|
QMessageBox::warning(this, tr("警告!"), tr("用户名或密码错误!"), QMessageBox::Yes);
|
|
ui->name->clear();
|
|
ui->pass->clear();
|
|
ui->name->setFocus();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
void login::on_pushButton_clicked()
|
|
{
|
|
sign->exec();
|
|
}
|