坐牢第三十六天(QT)

自定义QQ界面

wedget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QDebug> //qt中信息调试类
#include <QIcon> //图标类
#include <QPushButton>//按钮类
#include <QLabel> //标签类
#include <QMovie> //动图类
#include <QLineEdit> //行编辑器类
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();
signals:void My_signal(); //信号函数的定义
public slots:void My_slot();
private:Ui::Widget *ui;//2.给界面上半部分加上标签放上动图QLabel *lab_jm_1;//创建标签QMovie*move_jm_1;//创建一个movie对象//3.给界面下半部分加上标签放入图片QLabel *lab_jm_3;//4,给界面中间整个头像QLabel *lab_jm_2;//5.左上角qq图标QLabel *lab_jm_4;QLabel *lab_jm_5;//1.账号标签QLabel *lab_pd;//2.密码标签QLabel *lab_id;//3.账号行编辑器QLineEdit *edit_id;//4.账号行编辑器QLineEdit *edit_pd;//1.登录按钮QPushButton *btn_login;//结果标签QLabel *lab_result;
};
#endif // WIDGET_H

wedger.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QDebug> //qt中信息调试类
#include <QIcon> //图标类
#include <QPushButton>//按钮类
#include <QLabel> //标签类
#include <QMovie> //动图类
#include <QLineEdit> //行编辑器类
#include <QCheckBox> //复选框类
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);/**************************界面整体样式******************************///1.设置界面this->setFixedSize(600,500);//设置固定大小this->setWindowTitle("QQ 复刻版");this->setWindowIcon(QIcon("D:\\linux_t\\icon\\qqqingliao"));//设置窗体图标this->setWindowOpacity(0.9);//设置窗口透明度//this->setWindowFlag(Qt::FramelessWindowHint);//设置窗口纯净//2.给界面上半部分加上标签放上动图lab_jm_1 =new QLabel(this);//创建标签lab_jm_1->move(0,0);lab_jm_1->resize(600,175);//设置标签大小move_jm_1 =new QMovie("D:\\linux_t\\icon\\fangao");//创建一个movie对象lab_jm_1->setMovie(move_jm_1);//将动图放入标签中move_jm_1->start();//让动图动起来lab_jm_1->setScaledContents(true);//让动图自适应大小lab_jm_1->setParent(this);//3.给界面下半部分加上标签放入图片lab_jm_3=new QLabel(this);//创建标签lab_jm_3->move(0,lab_jm_1->height());lab_jm_3->resize(600,325);//设置标签大小lab_jm_3->setPixmap(QPixmap("D:\\linux_t\\icon\\xaingrikui"));lab_jm_3->setScaledContents(true);//保持图片清晰度和完整性lab_jm_3->setWindowOpacity(0.1);//设置透明度//4,给界面中间整个头像lab_jm_2 =new QLabel(this);//创建标签lab_jm_2->resize(70,70);//设置大小lab_jm_2->move(lab_jm_1->width()/2-lab_jm_2->width()/2,lab_jm_1->height()-lab_jm_2->height()/2);//设置头像位置lab_jm_2->setPixmap(QPixmap("D:\\linux_t\\icon\\fangaotouxiang"));//放入静态图lab_jm_2->setScaledContents(true);//保持图片清晰度和完整性//5.左上角qq图标lab_jm_4 =new QLabel(this);//创建标签lab_jm_4->resize(40,50);//设置大小lab_jm_4->move(30,10);//设置头像位置lab_jm_4->setPixmap(QPixmap("D:\\linux_t\\icon\\123"));//放入静态图lab_jm_4->setScaledContents(true);//保持图片清晰度和完整性lab_jm_5 =new QLabel(this);//创建标签lab_jm_5->resize(50,50);//设置大小lab_jm_5->move(lab_jm_4->x()+lab_jm_4->width(),lab_jm_4->y());lab_jm_5->setPixmap(QPixmap("D:\\linux_t\\icon\\456"));//放入静态图lab_jm_5->setScaledContents(true);//保持图片清晰度和完整性/********************************账号密码标签和行编辑器****************************///1.账号标签lab_id=new QLabel("账号",this);//有参构造一个账号标签lab_id->resize(38,30);//设置大小lab_id->move(120,250);//设置位置lab_id->setPixmap(QPixmap("D:\\linux_t\\icon\\qq"));//加上图片lab_id->setScaledContents(true);//保持图片清晰度和完整性//2.密码标签lab_pd=new QLabel("账号",this);//有参构造一个密码标签lab_pd->resize(38,30);//设置大小lab_pd->move(120,lab_id->y()+lab_id->height()+5);//设置位置lab_pd->setPixmap(QPixmap("D:\\linux_t\\icon\\suo"));//加上图片lab_pd->setScaledContents(true);//保持图片清晰度和完整性//3.账号行编辑器edit_id =new QLineEdit("账号",this);edit_id->resize(200,30); //设置大小edit_id->move(lab_id->x()+lab_id->width()+20,lab_id->y());edit_id->clear();edit_id->setPlaceholderText("账号");//4.账号行编辑器edit_pd =new QLineEdit("账号",this);edit_pd->resize(200,30); //设置大小edit_pd->move(lab_pd->x()+lab_pd->width()+20,lab_pd->y());edit_pd->clear();edit_pd->setPlaceholderText("密码");edit_pd->setEchoMode(QLineEdit::Password); //设置回显模式/********************************登录取消按钮****************************///1.登录按钮btn_login =new QPushButton("登录",this);btn_login->resize(300,50);btn_login->move(lab_pd->x()+30,lab_pd->y()+lab_pd->height()+50);btn_login->setIcon(QIcon("D:\\linux_t\\icon\\denglu")); //设置按钮图标//btn_login->setStyleSheet("background-color: skyblue; border: 1px solid black; color: black;");  //设置样式表//2.给登录按钮链接connect(btn_login,&QPushButton::clicked,this,&Widget::My_slot);/********************************结果标签****************************/lab_result =new QLabel(this);//有参构造一个结果标签lab_result->resize(100,40);lab_result->move(btn_login->x()+100,btn_login->y()+btn_login->height());/********************************复选框标签****************************///1.自动登录QCheckBox *box1=new QCheckBox("自动登录",this);box1->resize(100,40);box1->move(btn_login->x(),btn_login->y()-50);//2.记住密码QCheckBox *box2=new QCheckBox("记住密码",this);box2->resize(100,40);box2->move(box1->x()+box1->width()+4,box1->y());//3.找回密码按钮QPushButton*  btn_id =new QPushButton("找回密码",this);btn_id->resize(100,40);btn_id->move(box2->x()+box2->width()+4,box2->y());btn_id->setStyleSheet("background-color: rgba(0, 0, 0, 0);");//4.注册账号按钮QPushButton*  btn_pd =new QPushButton("注册账号",this);btn_pd->resize(100,40);btn_pd->move(lab_jm_4->x(),450);btn_pd->setStyleSheet("background-color: rgba(0, 0, 0, 0);");
}Widget::~Widget()
{delete ui;
}
void Widget:: My_slot()
{if(edit_id->text()==edit_pd->text()){//this-> close();lab_result->setStyleSheet(" color: bleak;");lab_result->setText("登录成功");}else{edit_pd->clear();lab_result->setStyleSheet(" color: rgb(255, 0,0);");lab_result->setText("登录失败");}
}

结果:

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树莓派外设驱动WiringPi库

树莓派外设驱动WiringPi库 文章目录 树莓派外设驱动WiringPi库一、树莓派安装WiringPi库二、WiringPi库的使用方法 一、树莓派安装WiringPi库 wiringPi库其实已经很熟悉了&#xff0c;在香橙派中大量使用过&#xff0c;这个库中集成了很多使用的功能性函数&#xff0c;树莓派安…

I2VGen-XL模型构建指南

一、介绍 VGen可以根据输入的文本、图像、指定的运动、指定的主体&#xff0c;甚至人类提供的反馈信号生成高质量的视频。它还提供了各类常用的视频生成模型工具&#xff0c;例如可视化、采样、训练、推理、使用图像和视频的联合训练&#xff0c;加速等各类工具和技术。 &quo…

docker 介绍以及常用命令

文章目录 Docker 概述docker 概念安装 Docker核心概念Docker 镜像Docker 容器Docker 仓库 docker 与虚拟机比较 Docker 命令docker 进程相关命令镜像相关命令查看本地镜像搜索镜像拉取/推送镜像删除镜像 容器相关命令创建容器查看容器启动/终止/删除容器新建并启动容器进入容器…

92. UE5 GAS RPG 使用C++创建GE实现灼烧的负面效果

在正常游戏里&#xff0c;有些伤害技能会携带一些负面效果&#xff0c;比如火焰伤害的技能会携带燃烧效果&#xff0c;敌人在受到伤害后&#xff0c;会接受一个燃烧的效果&#xff0c;燃烧效果会在敌人身上持续一段时间&#xff0c;并且持续受到火焰灼烧。 我们将在这一篇文章里…

地平线SuperDrive首秀:千人研发投入,出场即「比肩第一梯队」

作者 |德新 编辑 |王博 8月底&#xff0c;地平线在北京开放了第一批面向媒体的高阶智驾方案SuperDrive体验。 预计到明年第三季度&#xff0c;SuperDrive将伴随主机厂客户的第一款量产车交付。 目前在国内&#xff0c;仅有英伟达和华为两家的平台基础上&#xff0c;有车企向…

webm转换mp4怎么转?分享6种简单好用的转换方法

在日常的视频处理中&#xff0c;将WebM视频转换为MP4格式是一个常见的需求。无论是为了兼容性、分享还是编辑&#xff0c;MP4格式都因其广泛的支持和良好的性能而备受欢迎。本文将为大家介绍6种高效方法&#xff0c;有需要的小伙伴快来学习下吧。 方法一&#xff1a;口袋视频转…

暴力数据结构之优先级队列的解析及其模拟实现(C++)

1.认识优先级队列 如果我们给每个元素都分配一个数字来标记其优先级&#xff0c;不妨设较小的数字具有较高的优先级&#xff0c;这样我们就可以在一个集合中访问优先级最高的元素并对其进行查找和删除操作了。 优先级队列&#xff08;priority queue&#xff09; 是0个或多个元…

Spring-容器:IOC-基于注解管理Bean

目录 一、基于注解管理Bean&#xff08;重点&#xff09;1.1、概述1.2、开启组件扫描1.2.1、指定要排除的组件1.2.2、仅扫描指定组件 1.3、使用注解定义Bean1.4、使用Autowired注入1.4.1、属性注入1.4.2、set注入1.4.3、构造方法注入1.4.4、形参注入1.4.5、无注解注入1.4.6、联…

第十周:机器学习笔记

第十周机器学习周报 摘要Abstract机器学习——self-attention&#xff08;注意力机制&#xff09;1. 为什么要用self-attention2. self-attention 工作原理2.1 求α的两种方式2.2 attention-score&#xff08;关联程度&#xff09; Pytorch学习1. 损失函数代码实战1.1 L1loss&a…

传统CV算法——边缘算子与图像金字塔算法介绍

边缘算子 图像梯度算子 - Sobel Sobel算子是一种用于边缘检测的图像梯度算子&#xff0c;它通过计算图像亮度的空间梯度来突出显示图像中的边缘。Sobel算子主要识别图像中亮度变化快的区域&#xff0c;这些区域通常对应于边缘。它是通过对图像进行水平和垂直方向的差分运算来…

Robotics: computational motion planning 部分笔记—— week 1 graph-based

grassfire algorithm 四周扩散性&#xff1b;从终点开始按照相邻最小距离格子移动 Dijkstra’s Algorithm 标明从起点开始的所有点的最短距离&#xff08;从上一节点继承&#xff09;&#xff0c;直到终点 A* Algorithm 带有启发性的&#xff0c;给出距离估计&#xff0c…

小杨的H字矩阵小杨的日字矩阵 c++

小杨的H字矩阵 题目描述 小杨想要构造一个NxN的H字矩阵(N为奇数)&#xff0c;具体来说&#xff0c;这个矩阵共有N行&#xff0c;每行N个字符&#xff0c;其中最左列、最右列都是 | &#xff08;键盘右侧删除键下回车键上&#xff0c;shift\&#xff09;&#xff0c;而中间一行…

国内领先线上运动平台:如何借助AI技术实现业务腾飞与用户体验升级

“ 从智能训练到身体分析&#xff0c;再到辅助判决&#xff0c;AI技术正以惊人的速度渗透进体育和健身领域&#xff0c;为运动员和健身爱好者提供了前所未有的个性化体验。 ” AI&#xff0c;运动的智能伴侣 在巴黎奥运会上&#xff0c;AI技术的运用成为了焦点。它不仅为运动…

Java并发编程实战 03 | Java线程状态

在本文中&#xff0c;我们将深入探讨 Java 线程的六种状态以及它们之间的转换过程。其实线程状态之间的转换就如同生物生命从诞生、成长到最终死亡的过程一样。也是一个完整的生命周期。 首先我们来看看操作系统中线程的生命周期是如何转换的。 操作系统中的线程状态转换 线…

STM32F4按键状态机--单击、双击、长按

STM32F4按键状态机--单击、双击、长按 一、状态机的三要素二、使用状态机原因2.1资源占用方面2.2 执行效率方面&#xff1a;2.3 按键抖动方面&#xff1a; 三、状态机实现3.1 状态机分析3.1 程序实现 百度解析的状态机概念如下 状态机由状态寄存器和组合逻辑电路构成&#xff0…

深度学习 --- VGG16能让某个指定的feature map激活值最大化图片的可视化(JupyterNotebook实战)

VGG16能让某个指定的feature map激活值最大化图片的可视化 在前面的文章中&#xff0c;我用jupyter notebook分别实现了&#xff0c;预训练好的VGG16模型各层filter权重的可视化和给VGG16输入了一张图像&#xff0c;可视化VGG16各层的feature map。深度学习 --- VGG16卷积核的可…

Python 优雅编程:会报恩的代码(五)

文章目录 引言从文本搜索指定单词&#xff0c;不区分单词的大小写使用 str.lower()使用 re 模块 从文本搜索多个单词&#xff0c;依旧不区分单词的大小写使用 str.lower() 和循环使用 re 模块 反复执行 re.compile&#xff0c;re 是否会缓存编译结果&#xff1f;结语 引言 在 …

day47——面向对象特征之继承

一、继承&#xff08;inhert&#xff09; 面向对象三大特征&#xff1a;封装、继承、多态 继承&#xff1a;所谓继承&#xff0c;是类与类之间的关系。就是基于一个已有的类&#xff0c;来创建出一个新类的过程叫做继承。主要提高代码的复用性。 1.1 继承的作用 1> 实现…

【一嗨租车-注册安全分析报告-滑动验证加载不正常导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

UE4_后期处理_后期处理材质及后期处理体积三—遮挡物体描边显示

一、效果&#xff1a; 在很多游戏中为了玩家能看到墙面背后是否有敌人&#xff0c;会给被遮挡的敌人增加描边显示&#xff0c;效果如下&#xff1a; 参考&#xff1a; https://zhuanlan.zhihu.com/p/81310476 https://zhuanlan.zhihu.com/p/358140547 二、所需知识 知识点…