这两天研究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登录界面(一)相关推荐

  1. pyqt5登录界面设计——模仿qq登录界面,可登录注册(数据库)

    pyqt5登录界面设计--模仿qq登录界面 一.简单易用的可直接登录的界面--账号密码程序写死 1.1.效果图: 1.2.视频效果图 3.代码说明 4.使用示例 5.全部源码见: 二.带数据库的可登录 ...

  2. Qt模仿QQ聊天窗口界面(一)

    Qt模仿QQ聊天窗口界面(一) Qt模仿QQ聊天窗口界面(一) 简述 效果图 QQ的聊天窗口 我做的效果图 代码篇 结尾 简述 最近利用业余时间,模仿QQ做了一个聊天窗口界面,功能还不全,准备分几个部 ...

  3. Qt模仿QQ聊天窗口界面(二)

    Qt模仿QQ聊天窗口界面(二) Qt模仿QQ聊天窗口界面(二) 简述 修改 效果图 后期规划 代码 结尾 简述 在上篇我们已经搭好了QQ聊天窗口的框架,这里在原来的基础上叠加功能,以及优化一些控件. ...

  4. Qt模仿QQ聊天窗口界面(三)

    Qt模仿QQ聊天窗口界面(三)- 截图 Qt模仿QQ聊天窗口界面(三)- 截图 简述 效果图 代码篇 后期规划 结尾 简述 此篇在原来的基础上增加了QQ截图功能.在一个大佬的基础上进行了二次开发. 参 ...

  5. Android 模仿QQ登录界面解决软键盘遮挡问题

    Android 软件盘弹出可能会遮挡住界面上的某些控件.当 windowSoftInputMode 为 adjustPan 时,一般不会挡住 EditText,但是假如 EditText 下面是一个登 ...

  6. java代码完全手写模仿qq登录界面

    这是我模仿QQ2015版界面,实现的基本功能有登陆验证,重置等,当然直接复制代码运行是不一样的,还要注意自己插入自己的图片. 结果截图如下所示: import java.awt.BorderLayou ...

  7. android模仿qq登录界面,初识Android二之小试牛刀模仿实现qq登陆界面

    初识Android二之小试牛刀模仿实现qq登陆界面.俗话说得好,老师踢开门,修行在自己.勉勉强强学完生命周期,然后悠悠闲闲听了两节课后,老师就布置了一个登陆界面的实现,于是,磕磕绊绊的修行之路开始了. ...

  8. electron vue 模仿qq登录界面

    1.使用vuecli创建vue项目 我用的vue2 vue create qq_test 2.安装electron npm install electron -g //or npm install e ...

  9. Duilib界面库 Demo实例XML编写规则 模仿QQ登录模块

    下面是个人 自己动手编写的XML文件,主要是实现 QQ登录界面的设计 下面代码,粘贴之后,有点乱,实现效果如上图所示. <?xml version="1.0" encodin ...

最新文章

  1. 由于stdin不是终端,因此不会分配伪终端
  2. 自定义的代码块怎么移到别的电脑上
  3. 朴素贝叶斯法分类器的Python3 实现
  4. Linux Shell特殊字符和控制字符大全
  5. 使用Angular,Ionic 4和Spring Boot构建移动应用
  6. Alt Gr or Shift
  7. telnet服务下载 Linux,linux telnet服务安装包
  8. Linux-Ubuntu下设置ufw防火墙
  9. 3-20 标准库:find库; 学习编程语言3节课(大多是旧识,全*栈)3-21 面向对象. Percent Strings; 元编程和Rails的相互理解...
  10. SpringFramework核心技术一(IOC:详细的依赖和配置)
  11. 计算机拓展名cad,CAD用到的各种文件格式有哪些
  12. 基于Rasa_NLU的微信chatbot
  13. tomcat访问html文件
  14. matlab中uigetfile读取图片,MATLAB如何读取图片? 如何用Matlab读入并
  15. Java学习:Java程序员必读的经典书籍没有之一,你读过几本?
  16. 微信公众号里的文章图片应该如何原图下载
  17. PPT计算机原理结构初步,测量实践初步(赖丽娟).ppt
  18. 2018 PHP面试真题(包括详细解析)
  19. 安装虚拟机时总是会回滚
  20. WAP网站流量分析 WAP流量统计 wap网站流量统计

热门文章

  1. 无线遥控开关 开关和遥控器配对学习
  2. AndroidUI和交互整理集合
  3. 基于Opencv的图像处理-高光调整算法
  4. 飞机实时动态查询接口代码调用服务
  5. [深度学习从入门到女装]V-Net
  6. c语言编程 BMI判断健康,BMI指数真的可以反映人的健康状态吗?看完你就懂了
  7. H5案例分享—你的数学是语文老师教的吗?
  8. java无法验证证书_java – 如何解决“证书无效且无法用于验证此网站的身份”错误?...
  9. 金融风控评分卡建模全流程!
  10. Redmi AirDots只有一边有声音?? 如何进行双耳连接?