使用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();
}

  • 20
    点赞
  • 169
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个简单的注册、登录功能的代码示例,基于Qt CreatorQt框架实现: 首先,创建一个Qt Widgets应用程序,命名为RegistrationForm。在mainwindow.h头文件中添加以下内容: ```c++ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QMessageBox> QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: void on_registerButton_clicked(); void on_loginButton_clicked(); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H ``` 接着,在mainwindow.cpp文件中实现注册、登录功能: ```c++ #include "mainwindow.h" #include "ui_mainwindow.h" #include <QFile> #include <QTextStream> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_registerButton_clicked() { QString username = ui->usernameLineEdit->text(); QString password = ui->passwordLineEdit->text(); QFile file("users.txt"); if(file.open(QIODevice::ReadWrite | QIODevice::Append | QIODevice::Text)) { QTextStream stream(&file); stream << username << "," << password << "\n"; file.close(); QMessageBox::information(this, "注册成功", "注册成功!"); } else { QMessageBox::warning(this, "错误", "无法打开文件!"); } } void MainWindow::on_loginButton_clicked() { QString username = ui->usernameLineEdit->text(); QString password = ui->passwordLineEdit->text(); QFile file("users.txt"); if(file.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream stream(&file); bool found = false; while(!stream.atEnd()) { QString line = stream.readLine(); QStringList fields = line.split(","); if(fields.size() == 2 && fields[0] == username && fields[1] == password) { found = true; break; } } file.close(); if(found) { QMessageBox::information(this, "登录成功", "登录成功!"); } else { QMessageBox::warning(this, "错误", "用户名或密码错误!"); } } else { QMessageBox::warning(this, "错误", "无法打开文件!"); } } ``` 在注册按钮的单击事件on_registerButton_clicked()中,首先获取用户名和密码,然后打开一个名为“users.txt”的文件,将用户名和密码写入文件中。如果写入成功,弹出一个消息框提示注册成功;否则,弹出一个警告框提示错误。 在登录按钮的单击事件on_loginButton_clicked()中,首先获取用户名和密码,然后打开一个名为“users.txt”的文件,逐行读取文件内容,将每行内容按逗号分隔成用户名和密码两个字段,与输入的用户名和密码进行比较。如果找到匹配的用户名和密码,弹出一个消息框提示登录成功;否则,弹出一个警告框提示用户名或密码错误。 最后,需要在mainwindow.ui文件中添加用户名和密码输入框、注册和登录按钮,以及相应的信号和槽函数。可以使用Qt Designer来简化这一过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值