使用QT制作QQ登录界面

mywidget.cpp

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

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

cpp 复制代码
#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

效果图:

相关推荐
破茧蝴蝶4 小时前
Python分布式爬虫完整教程
开发语言·python
数据库小学妹4 小时前
国产数据库怎么选?兼容、迁移、核心案例与融合架构四道关
数据库·架构·国产数据库·数据库迁移·融合数据库
狗凯之家源码网4 小时前
全新 PHP 轻量客服聊天室源码深度评测
开发语言·php·聊天室系统
远离UE44 小时前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience5 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
IvorySQL5 小时前
PostgreSQL 日报| PgBouncer 修复三个 CVE 漏洞(10 月 15 日)
数据库·postgresql·区块链
饺子大魔王的男人5 小时前
后台表格、查询、流程总在重复写?我用ToolJet把PostgreSQL直接做成可远程访问的业务系统
数据库·postgresql
Gauss松鼠会5 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
栈帧之外5 小时前
【C++】STL之set
开发语言·c++