使用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
效果图:

相关文章:
使用QT制作QQ登录界面
mywidget.cpp #include "mywidget.h"Mywidget::Mywidget(QWidget *parent): QWidget(parent) {/********制作一个QQ登录界面*********************/this->resize(535,415);//设置登录窗口大小this->setFixedSize(535,415);//固定窗口大小this->setWindowTi…...
代码随想录训练营第七天 344反转字符串 541反转字符串II 替换数字
第一题: 原题链接:344. 反转字符串 - 力扣(LeetCode) 思路: 双指针,一根指向字符串的头部,一根指向字符串的尾部。两个指针向中间移动,交换两根指针指向的值。 代码如下…...
【Python】数据处理:SQLite操作
使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库,Python 标准库中包含一个名为 sqlite3 的模块,可以直接使用。 import sqlite3数据库连接和管理 连接到 SQLite 数据库。如果数据库文件不存在,则创建一个新数据库…...
NXP RT1060学习总结 - fsl_flexcan 基础CAN函数说明 -3
概要 CAN测试源码: https://download.csdn.net/download/qq_35671135/89425377 根据fsl_flexcan.h文件从文件末尾往前面梳理,总共30个基础CAN函数; 该文章只梳理常规CAN,增强型CAN后面再单独梳理。 使用的是RT1064开发板进行测试…...
2024年第三届数据统计与分析竞赛(B题)数学建模完整思路+完整代码全解全析
你是否在寻找数学建模比赛的突破点?数学建模进阶思路! 详细请查 作为经验丰富的数学建模团队,我们将为你带来2024年第三届数据统计与分析竞赛(B题)的全面解析。这个解决方案包不仅包括完整的代码实现,还有…...
高通Android 12 右边导航栏改成底部显示
最近同事说需要修改右边导航栏到底部,问怎么搞?然后看下源码尝试下。 1、Android 12修改代码路径 frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.java a/frameworks/base/services/core/java/com/android/server/wm/Display…...
2.6数据报与虚电路
数据报 当作为通信子网用户的端系统要发送一个报文时,在端系统中实现的高层协议先把报文拆成若干个带有序号的数据单元,并在网络层加上地址等控制信息后形成数据报分组(即网络层PDU)中间结点存储分组一段很短的时间,找到最佳的路由后&#x…...
小主机折腾记26
双独立显卡调用问题 前两天将tesla p4从x99大板上拆了下来,将880G5twr上的rx480 4g安装到了x99大板上,预计是dg1输出,rx480做3d运算。安装完驱动后,还想着按照之前tesla p4的设置方法去设置rx480,结果果然,…...
ArrayList浅析
目录 一、ArrayList源码1.1 迭代器1.1.1 Itr源码浅析1.1.2 ListItr源码浅析 1.2 常用方法1.3 System.arraycopy1.4 ArrayList 的创建方式 二、引申问题2.1 ArrayList的大小是如何增加的?2.2 什么情况下你会使用ArrayList2.3 在索引中ArrayList的增加或者删除某个对象…...
Spring Boot整合hibernate-validator实现数据校验
文章目录 概念基本概念常用校验注解 前置内容整合Hibernate Validator快速入门优雅处理参数校验异常其余注解校验自定义校验注解 参考来源 概念 基本概念 Hibernate Validator 是一个参数校验框架,可以非常方便地帮助我们校验应用程序的入参,实现了参数…...
Ubuntu系统中网易云音乐编译安装
项目地址: netease-cloud-music-gtk: Linux 平台下基于 Rust GTK 开发的网易云音乐播放器 目录 1.README.md中按照步骤来 2.安装git 3.报错 sudo apt install cmake sudo apt-get install libdbus-1-dev sudo apt install dnf sudo dnf install gettext 继…...
MPLS标签号
标签被压入在2层与3层之间 称为 2.5层 标签的格式----32 位4 个字节 前 20 位为标签号,2~20 个标签号;其中1-15号保留,作为特殊编号; 第 21-23位 exp,3位8个数,为优先级,用于Q0S 策略使用&a…...
OpenHarmony napi 编译 .so 并打包成 .har
一、前言 最近在搞公司标准产品适配OpenHarmony 平台, 按照行业上的常用方法,在Android 是将底层代码用c 封装成 xxx.so ,然后将其他一部分打包成 xxx.jar。 因此,在OpenHarmony 平台也是打算按照这个模式。正所谓,好…...
python 循环导入(circular imports)解决方法
在 Python 中,大部分人都应该都遇到过循环导入的问题。 循环导入是指两个文件各自尝试导入另一个文件(模块),当一个模块没有完全初始化时会导致失败。解决这种情况的最好方法是将代码分层组织,这样导入的关系就会自然…...
01、Linux网络设置
目录 1.1 查看及测试网络 1.1.1 查看网络配置 1、查看网络接口地址 2、查看主机状态 3、查看路由表条目 4、查看网络连接qing 1.1.2 测试网络连接 1.测试网络连接 2.跟踪数据包的路由路径 3.测试DNS域名解析 1.2 设置网络地址参数 1.2.1 使用网络配置命令 1.修改网卡…...
ssm160基于Java技术的会员制度管理的商品营销系统的设计与实现+vue
商品营销系统计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本商品营销系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理…...
边缘计算网关在智慧厕所远程监测与管理的应用
随着智慧城市建设的不断深入,城市公共设施的智慧化管理成为了提升城市品质和居民生活质量的关键建设。公厕作为城市基础设施的重要组成部分,其管理效率和卫生状况直接影响着市民的日常生活体验。在公厕设施建设背景下,边缘计算网关技术的应用…...
嵌入式linux中设备树使用of函数操作基本方法
各位开发者大家好,今天主要给大家分享一下,如何使用of操作函数,获取对应设备树节点先关的属性信息。 第一:of_find_property函数 of_find_property 函数用于在设备树中查找节点下具有指定名称的属性。如果找到了该属性,可以通过返回的属性结构体指针进行进一步的操作,比…...
10.GLM
智谱AI GLM 大模型家族 最强基座模型 GLM-130B GLM (General Language Model Pretraining with Autoregressive Blank Infilling) 基于自回归空白填充的通用语言模型(GLM)。GLM通过增加二维位置编码并允许以任意顺序预测跨度来改进空白填充预训练&…...
【深度学习】Transformer分类器,CICIDS2017,入侵检测,随机森林、RFE、全连接神经网络
文章目录 1 前言2 随机森林训练3 递归特征消除 RFE Recursive feature elimination4 DNN5 Transformer5.1. 输入嵌入层(Input Embedding Layer)5.2. 位置编码层(Positional Encoding Layer)5.3. Transformer编码器层(T…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
