2290867136 2 years ago
parent 72dd10d7a9
commit ae9b3cf942

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

@ -0,0 +1,118 @@
#include "resetmessage.h"
#include "qicon.h"
#include "qlabel.h"
#include "ui_resetmessage.h"
ResetMessage::ResetMessage(QWidget *parent) :
QDialog(parent),
ui(new Ui::ResetMessage)
{
ui->setupUi(this);
QIcon logo(":/image/icon/logo.png");
this->setWindowIcon(logo);
setWindowTitle("宜客酒店");
this->setFixedSize(800,600);
bg = new QLabel(this);
bg->setScaledContents(true);
bg->setPixmap(QPixmap(":/image/bg/customerbackground.webp"));//未完
bg->lower();
ui->code->setEchoMode(QLineEdit::Password);
ui->confirm_code->setEchoMode(QLineEdit::Password);
ui->radioButton_man->setChecked(1);
db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("hotel");
db.setHostName("localhost");
db.setPort(3306);
db.setUserName("root");
db.setPassword("111111");
if(db.open()){
qDebug("database connect succeed");
}else{
qDebug("database connect failed");
}
}
ResetMessage::~ResetMessage()
{
delete ui;
}
void ResetMessage::paintEvent(QPaintEvent*)
{
// bg->resize(ui->ResetMessage->size());
}
bool ResetMessage::verify(int x){
if(x==2){//密码判别
if(ui->code->text().size()<6||ui->code->text().size()>16){
return false;
}else{
QString str = ui->code->text();
int num = str.size();
for(int i=0;i<num;i++){
if(!(std::isalnum(str.at(i).unicode()))){
return false;
}
}
return true;
}
}else if(x==3){//密码二次输入判别
if(QString::compare(ui->code->text(),ui->confirm_code->text())==0){
return true;
}else{
return false;
}
}else if(x==4){//姓名判别
if(ui->name->text().size()>14||ui->name->text()==NULL){
return false;
}else{
return true;
}
}else if(x==5){//身份证号判别
if(ui->ID_card->text().size()!=18){
return false;
}else{
QString str = ui->ID_card->text();
int num = str.size();
for(int i=0;i<num;i++){
if(str.at(i)!='1'&&str.at(i)!='2'&&str.at(i)!='3'&&str.at(i)!='4'&&str.at(i)!='5'&&str.at(i)!='6'&&str.at(i)!='7'&&str.at(i)!='8'&&str.at(i)!='9'&&str.at(i)!='0'&&str.at(i)!='X'){
return false;
}
}
return true;
}
}else{
return false;
}
}
void ResetMessage::on_pushButton_clicked()
{
if(!verify(2)){
QMessageBox::warning(this, tr("提示"), tr("请检查密码是否符合规范密码应由6-16位字母或数字组成"));
}else if(!verify(3)){
QMessageBox::warning(this, tr("提示"), tr("两次输入密码不相同,请重新输入!"));
}else if(!verify(4)){
QMessageBox::warning(this, tr("提示"), tr("姓名字数为空或超出,请重新输入!"));
}else if(!verify(5)){
QMessageBox::warning(this, tr("提示"), tr("请检查身份证信息是否符合规范并重新输入!\n请注意X为大写字母"));
}else{
sign_in();
QMessageBox::information(this, tr("提示"), tr("注册成功!"));
this->hide();
}
}
void ResetMessage::sign_in(){
QString gender;
if(ui->radioButton_man->isChecked()){
gender = "";
}else{
gender = "";
}
QString sql = QString("INSERT INTO customer VALUES('%2','%3','%4','%5',NULL);").arg(ui->code->text()).arg(ui->name->text()).
arg(gender).arg(ui->ID_card->text());
QSqlQuery query;
query.exec(sql);
}

@ -0,0 +1,37 @@
#ifndef RESETMESSAGE_H
#define RESETMESSAGE_H
#include <QMainWindow>
#include <QLabel>
#include <QDebug>
#include <QString>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlQuery>
namespace Ui {
class ResetMessage;
}
class ResetMessage : public QDialog
{
Q_OBJECT
public:
explicit ResetMessage(QWidget *parent = nullptr);
~ResetMessage();
protected:
void paintEvent(QPaintEvent*);
private:
Ui::ResetMessage *ui;
bool verify(int x);
void sign_in();
QLabel *bg;
QSqlDatabase db;
private slots:
void on_pushButton_clicked();
};
#endif // RESETMESSAGE_H

@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ResetMessage</class>
<widget class="QDialog" name="ResetMessage">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>812</width>
<height>653</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
<widget class="QLabel" name="label_code">
<property name="geometry">
<rect>
<x>150</x>
<y>70</y>
<width>71</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>密码</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QLabel" name="label_confirm">
<property name="geometry">
<rect>
<x>150</x>
<y>160</y>
<width>111</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>确认密码</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QLabel" name="label_name">
<property name="geometry">
<rect>
<x>150</x>
<y>270</y>
<width>101</width>
<height>31</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>姓名</string>
</property>
</widget>
<widget class="QLabel" name="label_id">
<property name="geometry">
<rect>
<x>150</x>
<y>370</y>
<width>91</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>身份证</string>
</property>
</widget>
<widget class="QLineEdit" name="ID_card">
<property name="geometry">
<rect>
<x>300</x>
<y>370</y>
<width>400</width>
<height>25</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="code">
<property name="geometry">
<rect>
<x>300</x>
<y>70</y>
<width>400</width>
<height>25</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="confirm_code">
<property name="geometry">
<rect>
<x>300</x>
<y>170</y>
<width>400</width>
<height>25</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="name">
<property name="geometry">
<rect>
<x>300</x>
<y>270</y>
<width>400</width>
<height>25</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label_gender">
<property name="geometry">
<rect>
<x>150</x>
<y>444</y>
<width>61</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>性别</string>
</property>
</widget>
<widget class="QRadioButton" name="radioButton_man">
<property name="geometry">
<rect>
<x>300</x>
<y>444</y>
<width>79</width>
<height>19</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>男</string>
</property>
</widget>
<widget class="QRadioButton" name="radioButton_woman">
<property name="geometry">
<rect>
<x>500</x>
<y>444</y>
<width>79</width>
<height>19</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>女</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>350</x>
<y>520</y>
<width>100</width>
<height>50</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>15</pointsize>
</font>
</property>
<property name="text">
<string>更新</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
Loading…
Cancel
Save