OnePass

  现在的人们社交软件越来越多。需要记住的社交账号也越来越多,我就是前几天忘了某个密码折腾了好久,于是心血来潮想使用Qt整一个小程序来帮助自己查询密码。取个名字叫OnePass吧。

思路:

  因为技术原因所以做的只需要满足自己的需求。计划着是用Qt做界面,方便操作,然后用数据库记录各个社交平台的账号密码。

1、初始界面

需求:

1、打开后会先弹出一句欢迎的话(虽然做的简陋,但礼貌还是要有的)。

 //需要添加头文件#include<QMessageBox>QMessageBox::about(this,"Welcome","Welcom to use OnePass!");

2、设置背景图片

先添加资源文件

//设置图片
ui->label->setPixmap(QPixmap("://background.jpg"));
//让图片自动适应大小
ui->label->setScaledContents(true);

3、拖放控件

效果图

后台登陆

  登陆后出现菜单界面,需要先将菜单界面的头文件包含进去,然后在登陆界面的类的私有成员里面添加一个菜单类的对象,这样调用show函数就可以出现菜单界面。
  在登陆按钮加一个响应事件函数来相应click,如果密码正确,则关闭当前窗口,让菜单窗口出现,错误则给出错误信息,并将当前文本框清空,文本框须设置为密码模式。

 //将文本框设置为密码模式ui->lineEdit->setEchoMode(QLineEdit::Password);
    #include"menu.h"private:menu m;
void MainWindow::on_pushButton_clicked()
{QString pass = ui->lineEdit->text();if(pass == "123456")    //密码为自己设置{this->close();m.show();}else{QMessageBox::warning(this,"Error","Password Is Wrong !");ui->lineEdit->clear();}
}

菜单

1、设置背景图片

  这里当然是要放我老婆石原的美照了。

    //设置图片ui->back->setPixmap(QPixmap("://menwqeu.jpg"));//让图片自动适应大小ui->back->setScaledContents(true);

2、拖放控件

3、效果图

数据库建库和表

create table up(platform varchar(20),username varchar(50),password varchar(50)
);

查询功能 search

需求:

1、背景图片

//设置图片
ui->label->setPixmap(QPixmap("://background.jpg"));
//让图片自动适应大小
ui->label->setScaledContents(true);

2、功能界面布局

3、实现槽函数

  在实现前首先应该在构造函数中连接数据库。

    #include<QSqlQuery>//对sql语句操作#include<QSqlDatabase>#include<QSqlError>#include<QMessageBox>#include<QVariantList> //泛型QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");//连接数据库,内容需要自己填db.setHostName("");       //数据库服务器IPdb.setUserName("");       //数据库用户名db.setPassword("");       //密码db.setDatabaseName("");   //使用哪个数据库//打开数据库if(!db.open())//打开失败{//打开失败给出错误提示QMessageBox::warning(this,"Error",db.lastError().text());return;}
按钮“显示所有课查找项”

  这个按钮的功能就是:按下后会在下面的文本框中显示出所有已经存入的平台,方便知道哪些是已经存入且可以查找的。

void search::on_pushButton_clicked()
{QSqlQuery query;    //sql句柄query.exec("select * from up"); //执行语句while(query.next()) //只要下一条不为空{//注意这块必须使用追加,而不是setTest()ui->eara->append(query.value("platform").toString());  }
}
按钮“查找”

  这个按钮的功能是按下后,会查找在最上面文本框中输入的平台的账号和密码并显示在下面的三个lineEdit上。
  具体实现就是先获取文本框输入内容,然后去数据库中查找。

void search::on_pushButton_2_clicked()
{QString str = ui->search_2->text();     //获取要查询的平台QSqlQuery query;    //句柄QString str1 = "select * from up where platform = '"+str+"'";query.exec(str1);if(!query.next())   //未找到{QMessageBox::about(this,"Error","No This Platform !");ui->lineEdit->clear();ui->lineEdit_2->clear();ui->lineEdit_3->clear();return;}ui->lineEdit->setText(query.value("platform").toString());ui->lineEdit_2->setText(query.value("username").toString());ui->lineEdit_3->setText(query.value("password").toString());QMessageBox::about(this,"Success","Success To Search It !");ui->search_2->clear();ui->lineEdit->clear();ui->lineEdit_2->clear();ui->lineEdit_3->clear();
}

4、效果图

  有了上面的例子其实其他三个功能都很清晰了就,所以不做过多阐述,只贴上代码。

增加功能 add

界面布局

代码实现

#include "add.h"#include "ui_add.h"#include<QSqlQuery>//对sql语句操作#include<QSqlDatabase>#include<QSqlError>#include<QMessageBox>#include<QVariantList> //泛型#include<QString>//构造函数add::add(QWidget *parent) :QMainWindow(parent),ui(new Ui::add){ui->setupUi(this);//设置图片ui->label->setPixmap(QPixmap("://menwqeu.jpg"));//让图片自动适应大小ui->label->setScaledContents(true);}add::~add() //析构函数{delete ui;}void add::on_pushButton_clicked(){QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");//连接数据库db.setHostName("");//数据库服务器IPdb.setUserName("");   //数据库用户名db.setPassword("");  //密码db.setDatabaseName("");   //使用哪个数据库//打开数据库if(!db.open())//打开失败{QMessageBox::warning(this,"Error",db.lastError().text());return;}//获取要添加的内容QString platform = ui->platform->text();QString username = ui->username->text();QString password = ui->password->text();QSqlQuery query;QString str1 = "insert into up values('"+platform+"','"+username+"','"+password+"');";if(query.exec(str1)){QMessageBox::about(this,"Success","Success To Add It !");ui->platform->clear();ui->username->clear();ui->password->clear();}else{QMessageBox::about(this,"Fail","Fail To Add It !");ui->platform->clear();ui->username->clear();ui->password->clear();}}

修改功能 repair

界面布局

代码实现

#include "repair.h"#include "ui_repair.h"#include<QSqlQuery>//对sql语句操作#include<QSqlDatabase>#include<QSqlError>#include<QMessageBox>#include<QVariantList> //泛型#include<QString>repair::repair(QWidget *parent) :QMainWindow(parent),ui(new Ui::repair){ui->setupUi(this);//设置图片ui->label->setPixmap(QPixmap("://background.jpg"));//让图片自动适应大小ui->label->setScaledContents(true);QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");//连接数据库db.setHostName("");//数据库服务器IPdb.setUserName("");   //数据库用户名db.setPassword("");  //密码db.setDatabaseName("");   //使用哪个数据库//打开数据库if(!db.open())//打开失败{QMessageBox::warning(this,"Error",db.lastError().text());return;}}repair::~repair(){delete ui;}void repair::on_pushButton_clicked()    //显示按钮{QSqlQuery query;query.exec("select * from up");while(query.next()){ui->eara->append(query.value("platform").toString());}}void repair::on_pushButton_2_clicked()      //修改按钮{//获取修改信息QString platform = ui->search_2->text();QString username = ui->lineEdit_2->text();QString password = ui->lineEdit_3->text();QString st1 = "update up set username = '"+username+"' where platform = '"+platform+"';";QString st2 = "update up set password = '"+password+"' where platform = '"+platform+"';";QSqlQuery query;if(query.exec(st1) && query.exec(st2)){QMessageBox::about(this,"Success","Success To Repair It !");ui->search_2->clear();ui->lineEdit_2->clear();ui->lineEdit_3->clear();}else{QMessageBox::about(this,"Fail","Fail To Repair It !");ui->search_2->clear();ui->lineEdit_2->clear();ui->lineEdit_3->clear();}}

删除功能 remove

界面布局

代码实现

    #include "remove.h"#include "ui_remove.h"#include<QSqlQuery>//对sql语句操作#include<QSqlDatabase>#include<QSqlError>#include<QMessageBox>#include<QVariantList> //泛型#include<QString>remove::remove(QWidget *parent) :QMainWindow(parent),ui(new Ui::remove){ui->setupUi(this);//设置图片ui->label->setPixmap(QPixmap("://menwqeu.jpg"));//让图片自动适应大小ui->label->setScaledContents(true);}remove::~remove(){delete ui;}void remove::on_pushButton_clicked(){QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");//连接数据库db.setHostName("");//数据库服务器IPdb.setUserName("");   //数据库用户名db.setPassword("");  //密码db.setDatabaseName("");   //使用哪个数据库//打开数据库if(!db.open())//打开失败{QMessageBox::warning(this,"Error",db.lastError().text());return;}//获取要添加的内容QString platform = ui->platform->text();QString username = ui->username->text();QString password = ui->password->text();QSqlQuery query;QString str = "delete from up where platform = '"+platform+"';";if(query.exec(str)){QMessageBox::about(this,"Success","Success To Remove It !");ui->platform->clear();ui->username->clear();ui->password->clear();}else{QMessageBox::about(this,"Fail","Fail To Remove It !");ui->platform->clear();ui->username->clear();ui->password->clear();}}

一个帮你记住密码的小程序相关推荐

  1. 人工智能python小程序_Python:一个可以套路别人的python小程序

    一个可以套路别人的python小程序~ 先简要介绍一下程序. 程序是使用pycharm工具,python语言所写.程序包括客户端 client.py 和服务器端 server.py 两部分,利用了py ...

  2. 一个简单的银行存取款小程序

    一个简单的银行存取款小程序 来由 银行存取款程序 程序功能 程序主体 后期改进内容 来由 2019年3月17晚,心血来潮想学习编程,向着一个伟大的程序员的方向出发.在我贫穷的知识库中,所了解到的编程语 ...

  3. 基于Python编写一个B站全自动抽奖的小程序

    本文将利用Python编写一个B站全自动抽奖的小程序,可以实时监控自己关注的UP主,如果关注的UP主中有人发布了抽奖的动态,就自动参与这个抽奖.这样就能不错过任何一个可以暴富的机会了.需要的可以参考一 ...

  4. 在日常生活中,经常会遇到某些需求对文件名称进行修改,借助刚学过的文件操作,编写一个可以批量修改文件名的小程序。

    在日常生活中,经常会遇到某些需求对文件名称进行修改,借助刚学过的文件操作,编写一个可以批量修改文件名的小程序. import os path=input('请输入文件路径(结尾加上/):') #获取该 ...

  5. 分享一个SQL文件的合并的小程序

    .net项目做久了,发现发布时候存储过程的打包一直是个很麻烦的事情,就是所有script都放在一个里面一起运行. 我想这个小程序应该对多数.net开发人都有用的,毕竟.net开发下没几个用ORM的,大 ...

  6. 写一个音乐播放器的微信小程序

    要创建一个音乐播放器的微信小程序,您需要熟悉微信小程序的开发环境和语言(如 JavaScript 和 WXML/WXSS). 具体来说,您需要做以下几件事: 设计音乐播放器的用户界面,并使用 WXML ...

  7. 一个服务器可以放几个小程序,一个服务器可以放几个小程序

    一个服务器可以放几个小程序 内容精选 换一换 有很多网站,特别是目前的程序比较快,很多网站管理员可以使用不同的程序来构建网站,比如当下比较流行的PHP建站程序,当然还有之前比较火的APS,.net网站 ...

  8. 做一个派发工单的微信小程序

    要制作一个派发工单的微信小程序,需要以下步骤: 了解微信小程序的开发环境和技术栈,比如微信小程序的前端语言.后端语言.数据存储方式等. 设计应用的功能需求,包括工单的创建.分配.执行和查询等. 根据功 ...

  9. 一个修改Oracle用户密码的小诀窍

    一个修改Oracle用户密码的小诀窍 数据库版本: 9.2.0 .5 有时候我们可能不知道一个用户的密码,但是又需要以这个用户做一些操作,又不能去修改掉这个用户的密码,这个时候,就可以利用一些小窍门, ...

最新文章

  1. 放心,GPT-3 不会“杀死”编程
  2. java 待在原页面 代码_现在java后台,只要修改一点点代码,前段页面就报500,必须重新登录才行?...
  3. 地球化学图解系统GCDPlot 0.33
  4. Tomcat 中文路径乱码
  5. keras添加正则化全连接_第16章 Keras使用Dropout正则化防止过拟合
  6. 本科生如何系统地学习前端开发?
  7. python 去除读取txt输出时候的换行号
  8. java main函数_Java经典面试题集锦
  9. 从功夫胖挞看软件开发
  10. html中banner怎么写,banner图欣赏
  11. github首次使用提交项目
  12. 威联通NAS安装openwrt旁路由
  13. mac book pro 安装网络准入后经常死机
  14. 元宇宙产业委共同主席倪健中带队参访杭州市总工会推动元宇宙合作
  15. 【Java并发编程】并发编程大合集
  16. Gstore官网学习三:快速入门
  17. 开发人员用的提交测试环境的AutoIT脚本
  18. LCCUP‘22秋季编程大赛(个人赛)总结
  19. 架构(B站尚硅谷大数据项目实践 电影推荐系统概述)
  20. 笔试题33——双队列解决全排列拼接问题

热门文章

  1. 《大数据原理与应用》林子雨:一. 大数据基础
  2. java函数修饰符_Java 函数 面向对象,修饰符,类,构造方法,this
  3. PS简单入门须知的小技巧
  4. python学习之手把手教你将图片变成黑白或彩色字符画(骚操作)
  5. “无为而无不为”杂议
  6. UOJ #11.【UTR #1】ydc的大树 题解
  7. 阿里云ECS服务器配置全攻略
  8. 抗疫先锋 | IBM:同心抗疫,重塑未来 - emerge smarter!
  9. [论文学习]TDN: An Integrated Representation Learning Model of Knowledge Graphs
  10. Java Web项目中使用Freemarker生成Word文档