使用QT制作QQ登录界面

mywidget.cpp

#include "mywidget.h"

Mywidget::Mywidget(QWidget *parent)
    : QWidget(parent)
{
    /********制作一个QQ登录界面*********************/
    this->resize(535,415);//设置登录窗口大小
    this->setFixedSize(535,415);//固定窗口大小
    this->setWindowTitle("QQ");//设置窗口标题
    this->setWindowIcon(QIcon("C:/Users/Administrator/Desktop/pictrue/qq"));//设置窗口图标
    this->setStyleSheet("background-color:white");//背景设置成白色
    this->setWindowFlag(Qt::FramelessWindowHint);//隐藏窗口,设置为纯净窗口
    QLabel *lab1=new QLabel(this);//动态图标签
    lab1->resize(535,135);//动态标签大小
    QMovie *mv=new QMovie("C:/Users/Administrator/Desktop/pictrue/QQ3");//设置一个动态图对象指针接收动态图
    lab1->setMovie(mv);//将动图设置到lab1标签中
    mv->start();//让动图动起来
    lab1->setScaledContents(true);//让图片自适应标签设置大小
    QLabel *lab2=new QLabel(this);//qq图标签
    lab2->resize(94,50);//qq标签大小
    lab2->setPixmap(QPixmap("C:/Users/Administrator/Desktop/pictrue/94x50"));
    lab2->setScaledContents(true);//让图片自适应标签设置大小
    QPushButton *btn1=new QPushButton("?",this);//设置按钮
    btn1->resize(20,20);//设置按钮大小
    btn1->move(440,0);//设置按钮位置
    btn1->setStyleSheet("background-color:rgb(14,114,240)");//设置按钮背景颜色
    QPushButton *btn2=new QPushButton("-",this);//设置最小化按钮
    btn2->resize(20,20);//设置按钮大小
    btn2->move(460,0);//设置按钮位置
    btn2->setStyleSheet("background-color:rgb(14,114,240)");//设置按钮背景颜色
    QPushButton *btn3=new QPushButton("x",this);//设置退出按钮
    btn3->resize(20,20);//设置按钮大小
    btn3->move(480,0);//设置按钮位置
    btn3->setStyleSheet("background-color:rgb(14,114,240)");//设置按钮背景颜色
    QLabel *lab3=new QLabel(this);//qq头像图标签
    lab3->resize(80,80);//qq标签大小
    lab3->setStyleSheet("background-color:rgb(14,114,240)");
    lab3->setPixmap(QPixmap("C:/Users/Administrator/Desktop/pictrue/QQ"));
    lab3->move(228,95);//设置头像位置
    lab3->setScaledContents(true);//让图片自适应标签设置大小
    QLabel *lab4=new QLabel(this);//账号图标
    lab4->resize(24,36);//标签大小
    lab4->setPixmap(QPixmap("C:/Users/Administrator/Desktop/pictrue/24x36"));
    lab4->move(120,220);//设置位置
    lab4->setScaledContents(true);//让图片自适应标签设置大小
    QLineEdit *edit1=new QLineEdit(this); //账户输入行编辑器
    edit1->resize(260,24);//设置行编辑大小
    edit1->move(144,225);//设置位置
    edit1->setPlaceholderText("QQ号码/手机/邮箱");//设置占位
    QPushButton *btn4=new QPushButton("<>",this);//设置历史切换按钮
    btn4->resize(20,24);//设置按钮大小
    btn4->move(404,225);//设置按钮位置
    QLabel *lab5=new QLabel(this);//密码图标
    lab5->resize(24,36);//标签大小
    lab5->setPixmap(QPixmap("C:/Users/Administrator/Desktop/pictrue/24xxx36"));
    lab5->move(120,254);//设置位置
    lab5->setScaledContents(true);//让图片自适应标签设置大小
    QLineEdit *edit2=new QLineEdit(this); //密码输入行编辑器
    edit2->resize(260,24);//设置行编辑大小
    edit2->move(144,266);//设置位置
    edit2->setPlaceholderText("密码");
    edit2->setEchoMode(QLineEdit::Password);//设置显示模式
    QPushButton *btn5=new QPushButton("::",this);//设置鼠标输入按钮
    btn5->resize(20,24);//设置按钮大小
    btn5->move(404,266);//设置按钮位置
    QPushButton *btn6=new QPushButton(QIcon("C:/Users/Administrator/Desktop/pictrue/19x19")," 自动登录",this);//勾选自动登录按钮
    btn6->resize(100,21);//设置按钮大小
    btn6->move(121,300);//设置按钮位置
    QPushButton *btn7=new QPushButton(QIcon("C:/Users/Administrator/Desktop/pictrue/19x19")," 记住密码",this);//记住密码按钮
    btn7->resize(100,21);//设置按钮大小
    btn7->move(231,300);//设置按钮位置
    QPushButton *btn8=new QPushButton("找回密码",this);//找回密码按钮
    btn8->resize(80,21);//设置按钮大小
    btn8->move(344,300);//设置按钮位置
    QPushButton *btn9=new QPushButton("登录",this);//登录按钮
    btn9->resize(301,45);//设置按钮大小
    btn9->move(123,340);//设置按钮位置
    btn9->setStyleSheet("background-color:rgb(8,189,253)");//设置按钮颜色
    QPushButton *btn10=new QPushButton("注册账号",this);//注册账号按钮
    btn10->resize(80,21);//设置按钮大小
    btn10->move(15,390);//设置按钮位置
    QPushButton *btn11=new QPushButton(QIcon("C:/Users/Administrator/Desktop/pictrue/30x30"),"",this);//扫二维码登录按钮
    btn11->resize(30,30);//设置按钮大小
    btn11->move(490,381);//设置按钮位置


}

Mywidget::~Mywidget()
{
}

main.cpp

#include "mywidget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Mywidget w;
    w.show();
    return a.exec();
}

mywidget.h

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QWidget>
#include <QIcon>//图标类
#include <QMovie> //动图类
#include <QLabel> //标签类
#include <QPushButton> //按钮类
#include <QLineEdit> //行编辑器
class Mywidget : public QWidget
{
    Q_OBJECT

public:
    Mywidget(QWidget *parent = nullptr);
    ~Mywidget();
};
#endif // MYWIDGET_H

效果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/706324.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

交换机简介

一、 集线器的替代品—交换机 使用集线器的缺点&#xff0c;因此就设计出了交换机来代替集线器&#xff0c;交换机常见端口数量一般有4、8、16、24、32等数量。 华为交换机&#xff1a;S5720-HI系列 仅从实物图上来看&#xff0c;交换机和集线器非常的像&#xff0c;但是它们的…

【python】通行网格地图四叉树化 (leeccode 427)

【python】通行网格地图四叉树化 受到Leecode 427题的启发&#xff0c;427. 建立四叉树 想将由0和1组成的网格地图绘制为四叉树地图&#xff0c;0表示可通行网格&#xff0c;1表示不可通行网格。 import matplotlib.pyplot as plt import matplotlib.patches as patches …

【ARM Cache 与 MMU/MPU 系列文章 1.2 -- Data Cache 和 Unified Cache 的区别是什么?】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 Data Cache and Unified Cache数据缓存 (Data Cache)统一缓存 (Unified Cache)数据缓存与统一缓存的比较小结 Data Cache and Unified Cache 在 ARM架构中&#xff0c;缓存&#xff08…

第3章 Unity 3D着色器系统

3.1 从一个外观着色器程序谈起 新建名为basic_diffuse.shader的文件&#xff0c;被一个名为basic_diffuse.mat的材质文件所引用&#xff0c;而basic_diffuse.mat文件则被场景中名为Sphere的game object的MeshRenderer组件所使用。 basic_diffuse.shader代码文件的内容如下所示…

15.RedHat认证-Ansible自动化运维(上)

15.RedHat认证-Ansible自动化运维(上) RHCE8-RH294 Ansible自动化&#xff08;Ansible版本是2.8.2&#xff09; Ansible介绍 1.Ansible是什么&#xff1f; Ansible是一个简单的强大的无代理的自动化运维工具&#xff08;Ansible是自动化运维工具&#xff09;Ansible特点 简…

Java——LinkedList

1、链表 1.1 链表的概念及结构 链表在逻辑层面上是连续的&#xff0c;在物理层面上不一定是连续的 链表结构可分为&#xff0c;单向或双向、带头或不带头、循环或非循环&#xff0c;组合共计8种 重点&#xff1a;无头单向非循环链表、无头双向链表 1.2 模拟实现无头单向非…

ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 探测效果(地图探测、地图窥探)

ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 探测效果&#xff08;地图探测、地图窥探&#xff09; 实现原理 ArcGIS Maps SDK for JavaScript 从 4.29 开始增加 RenderNode 类&#xff0c;可以添加数据以及操作 FBO&#xff08;ManagedFBO&#xff09;&#xf…

影响数字本振信噪比的因素

2048 点 -66 4096 点-72 8192 点-77 16384 点-84

弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门

Docker技术概论 在WSL2中玩转Docker之Docker Engine部署 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://bl…

Java开发规范

1.接口命名规范–Restful API 原本格式是动词资源by传参&#xff0c;后来进化为Restful API&#xff0c;思想是以资源为中心。 动词用get,post,put,delete请求方法代替&#xff0c;by后面的名词用传参代替。 并且GET方法传参资源ID采用路径传参&#xff0c;除了资源ID外的GET…

区间合并——Acwing.803区间合并

区间合并 定义 区间合并是指将一组有重叠或相邻的区间合并成一个或多个更大的区间。 运用情况 图像处理&#xff1a;在图像的区域分析中&#xff0c;可能需要将相邻的具有相似特征的区域进行合并。时间区间处理&#xff1a;比如将多个连续时间段进行合并。行程规划&#xf…

nodejs湖北省智慧乡村旅游平台-计算机毕业设计源码00232

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;旅游行业当然也不能排除在外。智慧乡村旅游平台是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c;采…

探索JavaScript逆向工程与风控等级

探索JavaScript逆向工程与风控等级 在当今的网络安全领域&#xff0c;JavaScript逆向工程&#xff08;简称JS逆向&#xff09;已成为许多开发者和安全专家关注的焦点。JS逆向主要涉及对JavaScript代码的分析与理解&#xff0c;以发现其内部逻辑、数据流及潜在漏洞。这种技术常用…

【GIS】全球范围气象站点的逐年平均气温数据(1929-2023年)

数据简介&#xff1a;气象数据包括气象站点温度、湿度、光照等等。提供自1929-2023年以来的全球逐年平均气温数据气象数据下载。数据源为NCDC&#xff08;美国国家气候数据中心&#xff0c;National Climatic Data Center&#xff09;&#xff0c;隶属于NOAA&#xff08;美国国…

软件测试之购物车的用例设计

功能 正向case&#xff1a; 1、商品添加到购物车->选中添加的商品->点击结算->支付成功&#xff0c;验证购物车中订单是否清楚&#xff1b; 2、购物车中搜索商品&#xff0c;能够查询到对应的商品信息&#xff1b; 3、选中不同商家的商品&#xff0c;购物车中商品按照…

springboot热贡文化旅游APP的设计与实现-计算机毕业设计源码69932

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

bugku---misc---赛博朋克

1、下载附件解压之后是一个txt文本&#xff0c;查看文本的时候看到头部有NG的字样 2、把txt改为png后缀得到一张图片 3、binwalk没发现奇怪的地方&#xff0c;分离出来还是图片 4、stegslove分析&#xff0c;切换图片没有发现奇怪地方 5、将通道rgb置为0。出现了flag但是flag不…

Gi标签管理

文章目录 前言理解标签创建标签操作标签总结 前言 理解标签 标签&#xff0c;可以理解为对某次commit的一次标识&#xff0c;相当于起起了一个别名。 例如&#xff0c;在项目发布某个版本时候&#xff0c;针对最后一次commit起一个v1.0这样的标签来标识里程碑的意义。 这有什…

6.13.1 使用残差神经网络堆叠集成进行乳腺肿块分类和诊断的综合框架

计算机辅助诊断 (CAD) 系统需要将肿瘤检测、分割和分类的自动化阶段按顺序集成到一个框架中&#xff0c;以协助放射科医生做出最终诊断决定。 介绍了使用堆叠的残差神经网络 (ResNet) 模型&#xff08;即 ResNet50V2、ResNet101V2 和 ResNet152V2&#xff09;进行乳腺肿块分类…

郑州企业水污染防治乙级资质申请,时长预估

针对郑州企业水污染防治乙级资质申请&#xff0c;时长预估如下&#xff1a; 一、前期准备阶段 时间预估&#xff1a;约1-2个月 了解并熟悉最新的水污染防治乙级资质申请政策和标准。评估企业在技术人员配置、过往业绩、管理制度等方面的现状&#xff0c;确定是否满足申请条件。…