QT实现用户登录注册

本文实例为大家分享了QT实现用户登录注册的具体代码,供大家参考,具体内容如下

#include "widget.h"
#include "ui_widget.h"

//窗口设置
#include 

//数据库连接
#include //数据库操作函数
#include //输出错误信息

#include //
#include //读写配置文件
#include 

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

//窗口设置
    //设置窗口不显示标题,无边框
     setWindowFlags(Qt::Window|Qt::FramelessWindowHint);

//设置最小化、关闭按钮

     //获取最小化、关闭按钮图标

      QPixmap minPix = style()->standardPixmap(QStyle::SP_TitleBarMinButton);
      QPixmap closePix = style()->standardPixmap(QStyle::SP_TitleBarCloseButton);

      ui->mintoolButton->setIcon(minPix);
      ui->closetoolButton->setIcon(closePix);
      ui->mintoolButton->setStyleSheet("bakground-color:tranparent:");
      ui->closetoolButton->setStyleSheet("bakground-color:tranparent:");

      connect(ui->mintoolButton,&QPushButton::clicked,this,&Widget::showMinimized);
      connect(ui->closetoolButton,&QPushButton::clicked,this,&Widget::close);

//数据库连接
      //连接数据库
         //查看当前支持的数据库的驱动
          qDebug()<accountEdit->setText(account);
          ui->passwordEdit->setText(password);

         //用户注册,向数据库插入数据
          connect(ui->registerButton,&QPushButton::clicked,this,[=](){

          //接受用户输入:
              QString account = ui->accountEdit->text();//用户账号
              QString password = ui->passwordEdit->text();//密码

          //创建自己需要使用的表格
              QSqlQuery query(DB);
              if(!query.exec("create table user(account varchar(255) primary key, password varchar(255))"))
              {
                  qDebug() << "Error: Fail to create table."<< query.lastError();
              }
              else
              {
                  qDebug() << "Table created!";
              }


          //插入数据
              QString qs = QString("insert into user(account,password) values('%1','%2')")
                      .arg(account).arg(password);

              if(query.exec(qs)) //如果插入成功
              {
                  QMessageBox::information(this,"注册","注册成功");
              }
              else
              {
                  QMessageBox::information(this,"注册","注册失败");
                  qDebug()<loginButton,&QPushButton::clicked,this,[=](){

              //接受用户输入:
               QString account = ui->accountEdit->text();//用户账号
               QString password = ui->passwordEdit->text();//密码

              //查询数据
               QSqlQuery query;//操作数据库
               QString qs = QString("select * from user where account ='%1' and password='%2'").
                       arg(account).arg(password);

               if(!query.exec(qs))//如果没有查到记录
               {
                   qDebug() << query.lastError().text();//输出错误信息
                   return;
               }

               //获取查询的数据
               if(query.next())//获取到数据
               {
                   QMessageBox::information(this,"登录","登录成功");

                   connect(tw,&TestWidget::testSigna,this,&Widget::show);//显示主窗口

                   //在配置文件中记录用户账号密码
                   if(ui->checkBox->isChecked())//选中,也就是用户已经登录
                   {
                       //创建配置文件
                       QSettings setting("config.ini",QSettings::IniFormat);//配置文件在工程目录下
                       //把用户账号密码写到配置文件中
                       setting.beginGroup("section");//节开始
                       setting.setValue("account",account);
                       setting.setValue("password",password);
                       setting.endGroup();//结束
                   }
               }
               else
               {
                   QMessageBox::information(this,"登录","登录失败");
               }
          });

}

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

#按钮的ui实现

QT实现用户登录注册_第1张图片

QT实现用户登录注册_第2张图片

结果

QT实现用户登录注册_第3张图片

QT实现用户登录注册_第4张图片

QT实现用户登录注册_第5张图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(QT实现用户登录注册)