当前位置: 首页 > news >正文

傻瓜做网站软件厦门网站综合优化贵吗

傻瓜做网站软件,厦门网站综合优化贵吗,网站建设管理人员推荐表,html5网站带后台目录 1 界面设计 2 代码 2.1 登录界面 2.2 注册界面 2.3 登陆后的界面 3 完整资源 这里主要记录了如何使用Qt Creator创建一个用户登录界面,能够实现用户的注册和登录功能,注册的用户信息存储在了一个文件之中,在登录时可以比对登录信息…

目录

1 界面设计

2 代码

2.1 登录界面

2.2 注册界面

2.3 登陆后的界面

3 完整资源


        这里主要记录了如何使用Qt Creator创建一个用户登录界面,能够实现用户的注册和登录功能,注册的用户信息存储在了一个文件之中,在登录时可以比对登录信息和文件存储信息,已确认用户是否存在,如果不存在也可以通过注册功能进行注册。

1 界面设计

主要分为3个界面:登录界面、注册界面、登录后的界面

2 代码

2.1 登录界面

登录界面命名对于文件为widget.h、widget.c

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <form.h>
#include <form01.h>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Form *form = new Form();         // define a objectForm01 *form01 = new Form01();   // Loginpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();void on_pushButton_3_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

widget.c

#include "widget.h"
#include "ui_widget.h"
#include "QDebug"
#include "main.h"
#include "QDir"
#include "QMessageBox"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);connect(this->form, &Form::BackSig, this, [=](){this->form->hide();this->show();});}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{// this->hide();// this->close();qDebug() << "Change page to Login";// gain context about lineEdit and judge and ...QString path = QDir::currentPath(); // 获取当前工程所在路径std::string user_pwd;  //std::string part1;   // useranmestd::string part2;   // passwordint flag = 1;std::ifstream infile("/root/QT_developer/File/user_table.txt");if (!infile.is_open()) {std::cerr << "Unable to open file!" << std::endl;}//std::string line;QString In_username = ui->lineEdit->text();QString In_password = ui->lineEdit_2->text();part1 = In_username.toStdString();part2 = In_password.toStdString();user_pwd = part1 + ":" + part2;if(In_password.isEmpty()){QMessageBox::information(this, "Tips", "In_password is empty!");}else if(In_username.isEmpty()){QMessageBox::information(this, "Tips", "In_usename is empty!");}else{while (std::getline(infile, line)) {  // gain data on a lineif(user_pwd == line){flag = 0;infile.close();this->close();ui->lineEdit->clear();ui->lineEdit_2->clear();QMessageBox::information(this, "Tips", "Login success!");In_username.clear();In_password.clear();form01->show();break;}}if(flag == 1){ui->lineEdit->clear();ui->lineEdit_2->clear();QMessageBox::information(this, "Tips", "username or password is error!");In_username.clear();In_password.clear();}}
}void Widget::on_pushButton_2_clicked()
{// this->hide();// this->close();qDebug() << "Change page to Register";form->show();
}void Widget::on_pushButton_3_clicked()
{this->close();qDebug() << "Quit";
}

2.2 注册界面

注册界面命名对于文件为form.h、form.c

form.h

#ifndef FORM_H
#define FORM_H#include <QWidget>namespace Ui {
class Form;
}class Form : public QWidget
{Q_OBJECTpublic:explicit Form(QWidget *parent = nullptr);~Form();public:void Open_file();private slots:void on_pushButton_2_clicked();void on_pushButton_clicked();private:Ui::Form *ui;signals:void BackSig();  // define a signal without arg.
};#endif // FORM_H

form.c

#include "form.h"
#include "ui_form.h"
#include "qdebug.h"
#include "widget.h"
#include "QLineEdit"
#include "QMessageBox"
#include "main.h"
#include "QDir"Form::Form(QWidget *parent) :QWidget(parent),ui(new Ui::Form)
{ui->setupUi(this);// this->show();}Form::~Form()
{delete ui;
}void Form::on_pushButton_2_clicked()
{qDebug() << "Back";emit this->BackSig();}void Form::on_pushButton_clicked()
{///QString path = QDir::currentPath(); // 获取当前工程所在路径std::size_t found; // 查找冒号的位置std::string user_pwd;  // Concatenated username and passwordstd::string part1;   // useranmestd::string part2;   // passwordstd::string line;int flag = 1;std::ofstream outfile; // ready for writing// std::ifstream infile(path.toStdString() + "user_table.txt");std::ifstream infile("/root/QT_developer/File/user_table.txt");  // Absolute pathif (!infile.is_open()) {              // Determine whether the opening is successfulstd::cerr << "Unable to open file!" << std::endl;}///// gain dataQString username = ui->lineEdit->text();QString password = ui->lineEdit_2->text();QString password_firm = ui->lineEdit_3->text();// pan duan yong hu ming shi fou chong fuif(username.isEmpty()){qDebug() << "username can't is empty";QMessageBox::information(this, "Tips", "username can't is empty");}else if(password.isEmpty()){QMessageBox::information(this, "Tips", "password can't is empty");}else if(password_firm.isEmpty()){QMessageBox::information(this, "Tips", "password_firm can't is empty");}else{// judgeif(password != password_firm){ui->lineEdit->clear();  // clearui->lineEdit_2->clear();ui->lineEdit_3->clear();QMessageBox::information(this, "Tips", "password != password_firm!");username.clear();    // clearpassword.clear();password_firm.clear();}else{while (std::getline(infile, line)) {  // gain data on a linefound = line.find(':');   // find :if (found != std::string::npos) {part1 = line.substr(0, found); // 从开始到冒号前的部分qDebug() << "part1-username: ";cout << "part1-username: " << part1;}//if(QString::fromStdString(part1) == username){flag = 0;infile.close();ui->lineEdit->clear();ui->lineEdit_2->clear();ui->lineEdit_3->clear();QMessageBox::information(this, "Tips", "username has been exist!");username.clear();password.clear();password_firm.clear();break;}}if(flag == 1){QMessageBox::information(this, "Tips", "Register success!");part1 = username.toStdString();part2 = password.toStdString();user_pwd = part1 + ":" + part2;outfile.open("/root/QT_developer/File/user_table.txt", ios::in | std::ios::out | std::ios::app);outfile << user_pwd << endl;outfile.close();ui->lineEdit->clear();ui->lineEdit_2->clear();ui->lineEdit_3->clear();username.clear();password.clear();password_firm.clear();}}}}

2.3 登陆后的界面

登录后的界面命名对于文件为form01.h、form01.c

form01.h

#ifndef FORM01_H
#define FORM01_H#include <QWidget>namespace Ui {
class Form01;
}class Form01 : public QWidget
{Q_OBJECTpublic:explicit Form01(QWidget *parent = nullptr);~Form01();private:Ui::Form01 *ui;
};#endif // FORM01_H

form01.c

#include "form01.h"
#include "ui_form01.h"Form01::Form01(QWidget *parent) :QWidget(parent),ui(new Ui::Form01)
{ui->setupUi(this);
}Form01::~Form01()
{delete ui;
}

3 完整资源

按照以上代码就能实现,如果有需要这是完整代码。也可以私我。

https://download.csdn.net/download/qq_51458770/89492862

http://www.ritt.cn/news/11411.html

相关文章:

  • 打扑克软件直播app开发seo成功的案例和分析
  • 海城网站建设锦绣大地seo
  • apsx做的网站怎么发布杭州seo排名
  • 网站开发的层级结构怀化网络推广
  • 做网站赔钱了免费的html网站
  • 交友网站app推广成人英语培训
  • 成都有哪些比较做网站比较好的凤凰网台湾资讯
  • 做企业网站收费多少今日新闻头条新闻最新
  • 在vs做的项目怎么连接到网站郑州搜索引擎优化
  • 武汉seo招聘信息网站优化资源
  • 手机网站flash免费数据统计网站
  • 做网站用的小图标网页设计需要学什么
  • 虚拟云主机wordpress网站播放视频速度优化
  • 凤岗镇仿做网站免费域名注册
  • 搭建建立网站外贸seo推广招聘
  • 网站建设过程中需要注意的通用原则如何推广一个品牌
  • 珠宝购物网站的建设高级seo课程
  • 个人网站的留言板怎么做青岛自动seo
  • 广州知名网站建设公司手机怎么建网站
  • 自己如何做棋牌网站什么是网站推广?
  • 跟业务合作做网站给多少提成重庆关键词优化平台
  • 免费发布推广信息软件培训行业seo整站优化
  • c web网站开发教程如何做推广和引流
  • 提交您的网站百度写一篇文章多少钱
  • 网站建设信息稿谷歌商店下载安装
  • 网站图表怎么做的360优化大师官网
  • 网站流量统计平台网络营销五个特点
  • 电商网站开发建设百度识图鉴你所见
  • 北京精兴装饰公司口碑怎么样长沙竞价优化
  • 做花藤字网站谷歌三件套