前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QT入门10个小demo——连接MySql实现登录模块

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

作者头像
秋名山码神
发布2023-10-16 14:24:58
2450
发布2023-10-16 14:24:58
举报
文章被收录于专栏:码神随笔码神随笔

前言

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

基于qt的登录模块:

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

1. UI设计

1.1 登录注册

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
//禁止最大化窗口
setWindowFlags(windowFlags() & ~Qt::WindowMaximizeButtonHint);

//设置窗口大小为ui设计大小
    setFixedSize(width(),height());

2. Mysql连接

  1. 添加QT += sql
在这里插入图片描述
在这里插入图片描述
  1. 添加头文件
代码语言:javascript
复制
// 数据库相关头文件
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlError>
  1. 连接
代码语言:javascript
复制
    //连接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();//输出错误信息
    }

3. 编码

代码语言:javascript
复制
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);

}
代码语言:javascript
复制
// 登录函数
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,"登录","登录失败");
        
    }
 }

最后

如果本文对你有所帮助,还请三连支持一下博主!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1. UI设计
    • 1.1 登录注册
    • 2. Mysql连接
    • 3. 编码
    • 最后
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档