使用QT creator实现登录注册功能

使用QT creator实现登录注册功能
前提:连接sqlserver数据库
1.首先新建一个项目,向项目中添加新的QT设计师界面类
在这里插入图片描述

2.模板选择Dialogwithout Buttons
在这里插入图片描述

3.设计登录注册的UI界面
登录界面:
在这里插入图片描述

注册界面:
在这里插入图片描述

4.实现登录功能
首先在login的UI界面右键点击登录这个PushButton,选择信号clicked(),点击OK
在这里插入图片描述

主要代码:

void loginDialog::on_loginBtn_clicked()
{
QString user;
QString pwd;
user = ui->userline->text();//获取用户名
pwd = ui->pwdline->text();//获取密码
//判断用户名密码是否为空,为空则提示不能为空
if(user=="")
QMessageBox::warning(this,"",“用户名不能为空”);
else if (pwd=="")
QMessageBox::warning(this,"",“密码不能为空”);
else {
QString S = QString(“select * from user_table where name=’%1’ and password=’%2’”).arg(user).arg(pwd);
QSqlQuery query;//执行查询语句
if(query.exec(S))
{
QMessageBox::information(NULL, “登陆成功”, “登陆成功!!!”, QMessageBox::Yes);
accept();
}
else
QMessageBox::warning(this,“error”,“用户名或者密码错误!!”);
// 清空内容并定位光标
ui->userline->clear();
ui->pwdline->clear();
ui->userline->setFocus();//将光标定位到用户名输入框
}
}

修改main函数的内容为:

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
loginDialog dlg;
if (dlg.exec() == QDialog::Accepted)
{
w.show();
return a.exec();
}
else return 0;
}

5.实现注册功能
槽函数主要代码:

void registerDialog::on_registerBtn_clicked()
{
QString user;
QString pwd;
user=ui->userline->text();//获取输入的用户名和密码
pwd=ui->pwdline->text();
if(user=="")//判断用户名和密码是否为空
QMessageBox::warning(this,"",“用户名不能为空”);
else if (pwd=="")
QMessageBox::warning(this,"",“密码不能为空”);
else
{
QString i =QString(“insert into user_table values(’%1’,’%2’);”).arg(user).arg(pwd);//插入一条信息到数据库的user_table表中
QString s =QString(“select * from user_table where name = ‘%1’”).arg(user);//在user表中查询是否有存在的用户名
QSqlQuery query;
query.exec(s);
if(query.first()){
QMessageBox::warning(this,“ERROR”,“用户名重复”);//如果用户名重复,则提示用户名重复
}else if (query.exec(i)) {//如果用户名不重复,添加数据进入数据库
QMessageBox::information(this,“提示”,“注册成功!!”,QMessageBox::Yes);
accept();
}
else
QMessageBox::warning(this,“ERROR”,“注册失败,请重试!!”);
}
}

6.返回

直接在槽函数中使用this->close();

7.页面跳转

例如:没有账号进行注册,需要从login跳转到register,在login函数中添加register的头文件,代码如下
#include<registerdialog.h>
void loginDialog::on_registerBtn_clicked()
{
registerDialog dlg;
dlg.exec();
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值