• 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

    最后

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

  • 相关阅读:
    杭电oj 2043 密码 C语言
    获取PDF中的布局信息——如何获取段落
    JSON parse error Cannot deserialize value of type `java.util.Date` from String
    吴恩达机器学习 第三课 week2 推荐算法(下)
    数据质量校验
    centos离线安装mysql
    基于STM32的外部中断(EXTI)在嵌入式系统中的应用
    “行业寒冬”,字节10年测试工程师给在座的测试人一些涨薪建议
    SpringCloud 学习笔记总结 (三)
    图像畸变与去畸变
  • 原文地址:https://blog.csdn.net/weixin_45920495/article/details/133357476