qt登录界面简单制作,是真的保姆级别了!!!

第二周工程创新实践:创建一个窗体,设计用户登录的界面(含有用户名、密码),并实现用户登录的功能,要求用户提交的登录按钮时能获取界面中的用户名、密码数据并与数据库中的数据进行匹配,若用户名,密码正确则登录成功,否则登录失败。
不想看的直接百度网盘吧,但是可以的话还是看一看,绝对是看得懂的
链接:https://pan.baidu.com/s/1NnnVLxBxThazBQojbft_rw
提取码:33qv


前期准备(qt创建和数据库表)

首先开始创建我们的qt:


注意一定要是qmake!

然后一直点下一步就可以啦
得到这样的界面就可以啦

在前期我们需要安装一个my sql用于链接我们的数据库,以后看有机会出一个教程不,懒鬼!哈哈哈哈哈哈哈哈哈
如果不想改代码看这里,后面也可以自己来调整代码!!!
我们进入我们的my sql 里面

输入:show databases;

看看有没有这个

没有的话,我们使用,创建一个

创建一个数据库:create database dbtest;

!!!一定要使用

进入数据库:use dbtest(数据库名);

出现这一行小字

使用查看当前数据库的表:show tables;
我们这个qt要用到下面的这个表如果没有就用:create table user(username varchar(8),password varchar(8));


我们向里面也添加一点数据

insert into user(username,password) values('user01','abccba');
insert into user(username,password) values('1','21212121');
然后查看表:select * from user (表名);


像my sql数据库个人建议下一个软件来查看,真的方便很多


页面设计

直接点击我们的ui

然后找到这三个控件
标签

输入框

按钮

我的布局

他们的ui名字在选中后都可以在,text那里改


代码

在.pro那里面加一个 sql,我们要连接数据库咩
denglu.pro

QT       += core gui sql
greaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

然后我们就分为连接数据库和验证密码两个部分,所以在.h里面声明我们的bool connectDB();,验证我们用的是信号槽所以就不用声明了
mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();bool connectDB();
private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

我们的main.cpp不需要更改还是老样子
main.cpp

#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

关键部分来了
mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlDatabase>
#include <QMessageBox>
#include <QSqlError>
#include <QDebug>
#include <QSqlQueryModel>
#include <QComboBox>
#include <QSqlQuery>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);connectDB();//调用数据库//我们点击之后信号的触发connect(ui->pushButton,&QPushButton::clicked,this,[=](){QSqlQuery query1;query1.exec("SELECT * FROM user WHERE username");//选择我们的表QVariantList userlista;QString usert;usert=ui->lineEdit->text();//将我们ui界面输入框的值传递到usert里面QString passwdt;passwdt=ui->lineEdit_2->text();//将我们ui界面输入框的值传递到passwdt里面bool T1=false;//设立判断标志while(query1.next()){//这个回遍历数据库的值qDebug()<<query1.value(0).toString();//在qt界面显示qDebug()<<query1.value(1).toString();//在qt界面显示if(query1.value(0).toString()==usert&&query1.value(1).toString()==passwdt){T1=true;//判断密码和账号是否一致}}if(T1==true){QMessageBox::information(this, "成功", "登陆成功");}else { QMessageBox::information(this, "警告", "用户名或密码错误");}query1.execBatch();//再次循环,没有这个你的按钮按一次就没有用了});}
bool MainWindow::connectDB(){QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");db.setPort(3306);//你的地址db.setHostName("localhost");db.setUserName("root");//你的my sql的账号db.setPassword("123456");//你进去时候输入的密码db.setDatabaseName("dbtest"); //数据库名if(!db.open()){QMessageBox::critical(this,"数据库打开失败",db.lastError().text());return false;}else {return true;}}
MainWindow::~MainWindow()
{delete ui;
}

问题

数据库问题:

驱动失败(你要看看你有没有安装好一个.dll的资源)
添加链接描述
评论,私发

数据库失败(简单的来说就是没有找到你的my sql,你就要看看你dbtest有没有)

密码失败(就是密码错了)

数库库主机失败(QSqlDatabase db=QSqlDatabase::addDatabase(“QMYSQL”);
db.setPort(3306);这一坨东西)

名字问题
像这个就是没有找到你输入框的名字,我们单机选中之后


这个就是的啦!把这个复制上去

就到这里结束啦,感谢每一次的喜欢

爱你呦!

qt登录界面简单制作,是真的保姆级别了!!!相关推荐

  1. Myeclipse2017连接MySql数据库实现登录界面的制作(全过程)

    毕业设计选题选的是B/S的系统,决定用Myeclipse+MySql来做,本人小白一枚,前段时间自学了java web的知识,目前已经做出来了登录功能及系统的主界面,接下来就是在主界面对数据库增删改查 ...

  2. 简单医疗系统设计(一)登录界面的制作

    这周由于忙于一些琐事,python进度比上周慢了一点,而且廖老师后面的一些课程也没留下作业,所以今天只能拿出以前自己写的一些干货了.先放出完成后的图: 下面是实现界面设计的代码: 这里是html的he ...

  3. qt登录界面跳转_每天10分钟,木辛老师带你实战慕课软件开发:登录界面开发第2课...

    软件实战开始,快速提供编程能力:通过实战,分析产品需求,梳理设计需求,提升项目分析和架构的能力.快点跟着木辛老师一起学习吧! 请点击右上角"关注"按钮关注我们哟:跟着木辛老师学习P ...

  4. jsp mysql做登入界面_用jsp实现网站登录界面的制作,并连接数据库

    这里介绍一下怎样连接数据库,并用jsp制作一个简单的登录界面 1.首先需要搭建好环境,有Tomcat,eslipse,jdk等,并配置好环境变量,并安装好数据库,这里我使用的数据库是mysql数据库, ...

  5. mfc制作登录界面mysql_MFC制作漂亮界面之登录界面

    [实例简介] MFC制作漂亮界面之登录界面的源码,主要使用前面学过的内容来实践一个完整的界面. [实例截图] [核心代码] LoginTigger └── LoginTigger ├── LoginT ...

  6. python制作qq登录界面_Python制作一个仿QQ办公版的图形登录界面

    最近,QQ的办公版本--TIM进行了一次更新升级.本次更新升级大幅修改了界面的样式,看起来更加的清爽.简洁和高效了. 这种界面州的先生还是比较喜欢的,没有QQ那么花里胡哨,也比微信那些残缺的功能更加丰 ...

  7. QT 登录界面 傻瓜化教学

    结果: 用到的组件: line text.push button LoginMain.pro #------------------------------------------------- # ...

  8. java 登入界面制作_JavaFX界面设计之登录界面的制作

    本节我们将会创建如下图的登陆表单: 创建一个javaFX project 添加代码如下: packagecom.chu.helloworld; importjavafx.application.App ...

  9. 可换皮肤的Qt登录界面

    ⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生

最新文章

  1. 2015第22周一Web性能测试工具及IE扩展区别
  2. 随机线性插值提高神经网络的健壮性
  3. 给自己的程序添加BugReport
  4. 体感(Kinect)技术开发和应用简介
  5. xamarin UWP中MessageDialog与ContentDialog的区别
  6. java输出一些内容到日志文件
  7. JavaScript第三章forEach循环第四课
  8. 制作OTA U盘升级包
  9. 前后端数据交互(七)——前端跨域解决方案(全)
  10. matlab 生命游戏
  11. mysql存储过程 插数据_mysql 使用存储过程批量插数据
  12. (十九)通俗易懂理解——无人驾驶概述
  13. 《HelloGitHub》第 48 期
  14. firefox正在安装组件,以便播放此页面上的音频或视频
  15. MQ--1( Message queuing)RabbitMQ
  16. 节假日api--java调用与获取数据
  17. lcy老师的训练反思
  18. http、tcp/ip、socket
  19. 神舟炫龙银魂t1是哪年的_我的天呐 对比发现炫龙银魂T1竟然这么强
  20. v93000测试系统软件,V93000自动测试系统

热门文章

  1. 外部电源和锂电池自动切换电路
  2. UML/SysML和流浪地球的地球发动机
  3. JZOJ5055 树上路径
  4. Android茫茫半年求职路,终于斩获三个大厂offer,我总结了24家大厂100份面试题
  5. 腾讯6大核心业务打造坚固护城河
  6. QQ开始对每日添加好友人数作出限制(转)
  7. MySQL必知必会——第十五章联结表
  8. 花生日记 php,花生日记小白
  9. RAID的概念和RAID对于SQL性能的影响
  10. Http发送get、post、delete、put请求