当前位置: 首页 > news >正文

使用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_OBJECTpublic:Mywidget(QWidget *parent = nullptr);~Mywidget();
};
#endif // MYWIDGET_H

效果图:

相关文章:

  • SpringBoot集成slf4j日志配置
  • linux 文件删除空间未释放问题
  • 超级马里奥-小游戏
  • Day38
  • 对用户体验的一些思考
  • 【GIS矢量切片】tippecanoe在Windows和CentOS中的安装
  • React-Redux
  • 【Qnx】Qnx coredump解析
  • 使用NetAssist网络调试助手在单台计算机上配置TCP服务器和客户端
  • Go Module详解
  • 【安卓设备】通过adb批量安装apk
  • 计算机网络重要知识点
  • [Shell编程学习路线]——探讨Shell中变量的作用范围(export)
  • vscode软件上安装 Fitten Code插件及使用
  • 用Python处理Excel的资源
  • Android 控件背景颜色处理
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • idea + plantuml 画流程图
  • JAVA多线程机制解析-volatilesynchronized
  • JS专题之继承
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • TypeScript实现数据结构(一)栈,队列,链表
  • vue 个人积累(使用工具,组件)
  • 初识 webpack
  • 高程读书笔记 第六章 面向对象程序设计
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 使用parted解决大于2T的磁盘分区
  • 以太坊客户端Geth命令参数详解
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • 《天龙八部3D》Unity技术方案揭秘
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​业务双活的数据切换思路设计(下)
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #if #elif #endif
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • $refs 、$nextTic、动态组件、name的使用
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (Java入门)抽象类,接口,内部类
  • (Matlab)使用竞争神经网络实现数据聚类
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (四)JPA - JQPL 实现增删改查
  • (一)基于IDEA的JAVA基础10
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ******之网络***——物理***
  • .gitignore文件设置了忽略但不生效
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core 通过 Ef Core 操作 Mysql
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET CORE使用Redis分布式锁续命(续期)问题