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.
86 lines
2.5 KiB
86 lines
2.5 KiB
#include "sign_in.h"
|
|
#include "ui_sign_in.h"
|
|
#include <QMessageBox>
|
|
#include <QSqlQuery>
|
|
#include <QString>
|
|
#include <QDebug>
|
|
#include <QGraphicsDropShadowEffect> //设置阴影
|
|
|
|
sign_in::sign_in(QWidget *parent) : QDialog(parent),
|
|
ui(new Ui::sign_in)
|
|
{
|
|
ui->setupUi(this);
|
|
this->setWindowTitle("注册");
|
|
|
|
// 使用在 main 中创建的数据库连接
|
|
QSqlDatabase db = QSqlDatabase::database("text01");
|
|
|
|
if (!db.isOpen()) {
|
|
QMessageBox::warning(this, "警告", "数据库连接失败");
|
|
} else {
|
|
qDebug() << "数据库连接成功!";
|
|
}
|
|
|
|
//插入图片
|
|
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);
|
|
|
|
this->setWindowFlags(Qt::WindowCloseButtonHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint);
|
|
|
|
}
|
|
|
|
sign_in::~sign_in()
|
|
{
|
|
delete ui;
|
|
}
|
|
|
|
void sign_in::on_pushButton_2_clicked()
|
|
{
|
|
this->close();
|
|
}
|
|
|
|
void sign_in::on_pushButton_clicked()
|
|
{
|
|
QString namestr = ui->lineEdit->text();
|
|
QString password = ui->lineEdit_2->text();
|
|
|
|
// 使用在 main 中创建的数据库连接
|
|
QSqlDatabase db = QSqlDatabase::database("text01");
|
|
|
|
if (!db.isOpen()) {
|
|
QMessageBox::warning(this, tr("警告!"), tr("数据库未打开!"), QMessageBox::Yes);
|
|
return;
|
|
}
|
|
|
|
QSqlQuery query(db);
|
|
QString userQuery = QString("select * from user where name='%1' ").arg(namestr);
|
|
if (query.exec(userQuery) && query.next()) {
|
|
QMessageBox::warning(this, tr("警告!"), tr("用户名已存在!"), QMessageBox::Yes);
|
|
ui->lineEdit->clear();
|
|
ui->lineEdit_2->clear();
|
|
ui->lineEdit->setFocus();
|
|
} else {
|
|
if (namestr == "" || password == "") {
|
|
QMessageBox::warning(this, tr("警告!"), tr("用户名或密码不能为空!"), QMessageBox::Yes);
|
|
ui->lineEdit->clear();
|
|
ui->lineEdit_2->clear();
|
|
ui->lineEdit->setFocus();
|
|
} else {
|
|
QString insertStr = QString("insert into user(name, pass) values('%1', '%2')").arg(namestr).arg(password);
|
|
if (query.exec(insertStr)) {
|
|
|
|
close();
|
|
} else {
|
|
QMessageBox::warning(this, tr("警告!"), tr("注册失败!"), QMessageBox::Yes);
|
|
}
|
|
}
|
|
}
|
|
}
|