Qt模仿QQ登录界面(一)
这两天研究qt,练习时做了个仿QQ登录界面,我这次实现的比较简单,先在这里记录一下,以后有空了会继续完善的。
(一)效果图
这里使用我的qq号测试的如图:
(二)工程文件
(三)代码实现
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE//登录状态
typedef enum
{ONLINE =1,ACTIVE,AWEY,BUSY,NOT_DISTURB,HIDE,OFFLINE
}LoginState;class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots://登录的信号槽void login();void closethis();void on_btnOk_clicked();void on_btnCancel_clicked();void on_registuser_linkActivated(const QString &link);void on_registuser_linkHovered(const QString &link);void on_findpd_linkActivated(const QString &link);void on_findpd_linkHovered(const QString &link);private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QString>
#include <QImage>
#include <QMovie>
#include <QLabel>
#include "login.h"
#include "qqinterface.h"
#include <QMessageBox>
#include <QCompleter>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);this->setFixedSize(538,464);//设置窗口固定大小this->setWindowIcon(QIcon(":/Resource/QQ.ico"));//设置左上角图标//设置密码显示的格式ui->lineEdit_pd->setEchoMode(QLineEdit::Password);//构建账号补全列表QStringList listnumber;listnumber <<"1293957879"<<"123456789"<<"2020030421";//构建补全器QCompleter *number = new QCompleter(listnumber);//设置给编译器ui->lineEdit_uset->setCompleter(number);connect(ui->btnOk,SIGNAL(clicked(bool)),this,SLOT(login()));this->ui->registuser->setText("<a style = 'text-decoration:none' href='https://ssl.zc.qq.com/v3/index-chs.html'>注册账号</a>");this->ui->registuser->setOpenExternalLinks(true);this->ui->findpd->setText("<a style=' text-decoration:none' href= 'http://aq.qq.com/v2/uv_aq/html/reset_pwd/pc_reset_pwd_input_account.html'>找回密码</a>");//超链接this->ui->findpd->setOpenExternalLinks(true);this->setWindowTitle("明明的QQ~");}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::login()
{static int count =0;QString name = this->ui->lineEdit_uset->text();QString passwd = this->ui->lineEdit_pd->text();if(name == "123456789" && passwd == "1" ){qDebug()<<"登录成功";}else{qDebug()<<"登录失败";count ++;if(count ==3){disconnect(this->ui->btnOk,SIGNAL(clicked(bool)),this,SLOT(login()));}}
}void MainWindow::closethis()
{}void MainWindow::on_btnOk_clicked()
{QString name = this->ui->lineEdit_uset->text();QString passwd = this->ui->lineEdit_pd->text();if(name == "123456789" && passwd == "1" ){this->close();qqinterface * interface = new qqinterface();interface->show();}else{QMessageBox::about(NULL,"提示","账号/密码错误!");}
}void MainWindow::on_btnCancel_clicked()
{this->close();
}void MainWindow::on_registuser_linkActivated(const QString &link)
{qDebug()<<"activated";}void MainWindow::on_registuser_linkHovered(const QString &link)
{qDebug()<<"hovered";
}void MainWindow::on_findpd_linkActivated(const QString &link)
{qDebug()<<"activated";
}void MainWindow::on_findpd_linkHovered(const QString &link)
{qDebug()<<"hovered";
}
qqinterface.h
#ifndef QQINTERFACE_H
#define QQINTERFACE_H#include <QDialog>namespace Ui {
class qqinterface;
}class qqinterface : public QDialog
{Q_OBJECTpublic:explicit qqinterface(QWidget *parent = nullptr);~qqinterface();private:Ui::qqinterface *ui;
};#endif // QQINTERFACE_H
qqinterface.cpp
#include "qqinterface.h"
#include "ui_qqinterface.h"qqinterface::qqinterface(QWidget *parent) :QDialog(parent),ui(new Ui::qqinterface)
{ui->setupUi(this);// this->setWindowTitle("登录成功");
}qqinterface::~qqinterface()
{delete ui;
}
main.cpp
#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}
由于ui使用qt设计师设计的不能上传,看到这里你应该能够自己完成了,如果想参考源代码请自己下载我附上的源代码。
本文章仅供学习交流用禁止用作商业用途,文中所有内容均为原创未经授权不得转载
微信公众号:zhjj0729
微博:文艺to青年
简书:水枂
Qt模仿QQ登录界面(一)相关推荐
- pyqt5登录界面设计——模仿qq登录界面,可登录注册(数据库)
pyqt5登录界面设计--模仿qq登录界面 一.简单易用的可直接登录的界面--账号密码程序写死 1.1.效果图: 1.2.视频效果图 3.代码说明 4.使用示例 5.全部源码见: 二.带数据库的可登录 ...
- Qt模仿QQ聊天窗口界面(一)
Qt模仿QQ聊天窗口界面(一) Qt模仿QQ聊天窗口界面(一) 简述 效果图 QQ的聊天窗口 我做的效果图 代码篇 结尾 简述 最近利用业余时间,模仿QQ做了一个聊天窗口界面,功能还不全,准备分几个部 ...
- Qt模仿QQ聊天窗口界面(二)
Qt模仿QQ聊天窗口界面(二) Qt模仿QQ聊天窗口界面(二) 简述 修改 效果图 后期规划 代码 结尾 简述 在上篇我们已经搭好了QQ聊天窗口的框架,这里在原来的基础上叠加功能,以及优化一些控件. ...
- Qt模仿QQ聊天窗口界面(三)
Qt模仿QQ聊天窗口界面(三)- 截图 Qt模仿QQ聊天窗口界面(三)- 截图 简述 效果图 代码篇 后期规划 结尾 简述 此篇在原来的基础上增加了QQ截图功能.在一个大佬的基础上进行了二次开发. 参 ...
- Android 模仿QQ登录界面解决软键盘遮挡问题
Android 软件盘弹出可能会遮挡住界面上的某些控件.当 windowSoftInputMode 为 adjustPan 时,一般不会挡住 EditText,但是假如 EditText 下面是一个登 ...
- java代码完全手写模仿qq登录界面
这是我模仿QQ2015版界面,实现的基本功能有登陆验证,重置等,当然直接复制代码运行是不一样的,还要注意自己插入自己的图片. 结果截图如下所示: import java.awt.BorderLayou ...
- android模仿qq登录界面,初识Android二之小试牛刀模仿实现qq登陆界面
初识Android二之小试牛刀模仿实现qq登陆界面.俗话说得好,老师踢开门,修行在自己.勉勉强强学完生命周期,然后悠悠闲闲听了两节课后,老师就布置了一个登陆界面的实现,于是,磕磕绊绊的修行之路开始了. ...
- electron vue 模仿qq登录界面
1.使用vuecli创建vue项目 我用的vue2 vue create qq_test 2.安装electron npm install electron -g //or npm install e ...
- Duilib界面库 Demo实例XML编写规则 模仿QQ登录模块
下面是个人 自己动手编写的XML文件,主要是实现 QQ登录界面的设计 下面代码,粘贴之后,有点乱,实现效果如上图所示. <?xml version="1.0" encodin ...
最新文章
- 由于stdin不是终端,因此不会分配伪终端
- 自定义的代码块怎么移到别的电脑上
- 朴素贝叶斯法分类器的Python3 实现
- Linux Shell特殊字符和控制字符大全
- 使用Angular,Ionic 4和Spring Boot构建移动应用
- Alt Gr or Shift
- telnet服务下载 Linux,linux telnet服务安装包
- Linux-Ubuntu下设置ufw防火墙
- 3-20 标准库:find库; 学习编程语言3节课(大多是旧识,全*栈)3-21 面向对象. Percent Strings; 元编程和Rails的相互理解...
- SpringFramework核心技术一(IOC:详细的依赖和配置)
- 计算机拓展名cad,CAD用到的各种文件格式有哪些
- 基于Rasa_NLU的微信chatbot
- tomcat访问html文件
- matlab中uigetfile读取图片,MATLAB如何读取图片? 如何用Matlab读入并
- Java学习:Java程序员必读的经典书籍没有之一,你读过几本?
- 微信公众号里的文章图片应该如何原图下载
- PPT计算机原理结构初步,测量实践初步(赖丽娟).ppt
- 2018 PHP面试真题(包括详细解析)
- 安装虚拟机时总是会回滚
- WAP网站流量分析 WAP流量统计 wap网站流量统计
热门文章
- 无线遥控开关 开关和遥控器配对学习
- AndroidUI和交互整理集合
- 基于Opencv的图像处理-高光调整算法
- 飞机实时动态查询接口代码调用服务
- [深度学习从入门到女装]V-Net
- c语言编程 BMI判断健康,BMI指数真的可以反映人的健康状态吗?看完你就懂了
- H5案例分享—你的数学是语文老师教的吗?
- java无法验证证书_java – 如何解决“证书无效且无法用于验证此网站的身份”错误?...
- 金融风控评分卡建模全流程!
- Redmi AirDots只有一边有声音?? 如何进行双耳连接?