• QT入门10个小demo——连接MySql实现登录模块


    🙌秋名山码民的主页
    😂oi退役选手,Java、大数据、单片机、IoT均有所涉猎,热爱技术,技术无罪
    🎉欢迎关注🔎点赞👍收藏⭐️留言📝
    获取源码,添加WX


    前言

    学完qt好几个月了,一直没做相关的项目巩固,10个demo,第二个,连接MySql实现登录模块

    基于qt的登录模块:

    1. 所使用的技术为Qt MySql连接方式
    2. ui设计为qt图形化设计
    3. 数据库为MySql8
    4. IDE为qtcreator

    1. UI设计

    1.1 登录注册

    在这里插入图片描述

    //禁止最大化窗口
    setWindowFlags(windowFlags() & ~Qt::WindowMaximizeButtonHint);
    
    //设置窗口大小为ui设计大小
        setFixedSize(width(),height());
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2. Mysql连接

    1. 添加QT += sql
      在这里插入图片描述
    2. 添加头文件
    // 数据库相关头文件
    #include 
    #include 
    #include 
    
    • 1
    • 2
    • 3
    • 4
    1. 连接
    
        //连接MySQL数据库:
        QSqlDatabase db = QSqlDatabase::addDatabase("mysql");      //创建Mysql数据库连接
        db.setHostName("localhost"); //主机服务器
        db.setPort(3306);   //窗口
        db.setUserName("root");
        db.setPassword("qwer123.");   //密码
        db.setDatabaseName("bms_database"); //数据库名
    
        if(db.open())
        {
           qDebug()<<"数据库连接成功";
        }else
        {
           qDebug()<<"数据库连接失败";
           qDebug()<<db.lastError().text();//输出错误信息
        }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3. 编码

    
    Dialog::Dialog(QWidget *parent)
        : QDialog(parent)
        , ui(new Ui::Dialog)
    {
        ui->setupUi(this);
    
        //固定大小,禁止拖动
        setWindowFlags(windowFlags() & ~Qt::WindowMaximizeButtonHint);
        setFixedSize(width(),height());
    
        ui->lineEdit_Password->setEchoMode(QLineEdit::Password);
    
        // 初始化用户权限
        ui->comboBox_cleck->addItem("管理员",1);
        ui->comboBox_cleck->addItem("普通用户",2);
    
        // 限制用户名称和密码长度
        ui->lineEdit_user->setMaxLength(16);
        ui->lineEdit_Password->setMaxLength(16);
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    
    // 登录函数
    void Dialog::on_pushButton_login_clicked()
    {
        QString account = ui->lineEdit_user->text();
        QString password = ui->lineEdit_Password->text();
        
        QSqlQuery query;
        
        QString qs = QString("select * from user where account = '%1' and password='%2'").arg(account).arg(password);
        
        if(query.next()){
            QMessageBox::information(this,"登录","登录成功");
        }else{
            QMessageBox::information(this,"登录","登录失败");
            
        }
     }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    最后

    如果本文对你有所帮助,还请三连支持一下博主!
    请添加图片描述

  • 相关阅读:
    【云原生 | Docker 基础篇】07、本地镜像发布到私有库
    【MySql】数据库的CRUD(增删查改)
    神经网络预测应力应变-单轴实验
    【C 语言考试真题】详解(一)
    C++入门(二)
    antd-vue - - - - - select自定义渲染[封装select组件]
    下一代大数据分布式存储技术Apache Ozone初步研究
    磁盘分区如何分? 电脑磁盘分区免费软件指南!
    6-4 在一个数组中实现两个堆栈 分数 15
    Es Ik
  • 原文地址:https://blog.csdn.net/weixin_45920495/article/details/133357476