Qt设置类似于qq登录页面

news2024/11/26 16:35:34

头文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QWindow>
#include <QIcon>
#include <QLabel>
#include <QMovie>
#include <QLineEdit>
#include <QPushButton>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;

    void Btn2_slot();
};
#endif // WIDGET_H

源文件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //==============窗口设置============
    //给窗口设置标题
    this->setWindowTitle("真爱粉聊天软件");
    //给窗口设置图标
    this->setWindowIcon(QIcon(":/pictrue/xhz.jpg"));
    //窗口背景颜色
    this->setStyleSheet("background-color:rgb(255,255,255)");
    //给窗口固定大小
    this->setFixedSize(540,410);
    //设置纯净窗口(去掉头部)
    this->setWindowFlag(Qt::FramelessWindowHint);

    //================标签设置==========
    //创建标签并指定父对象
    //创建第一个标签(背景)
    QLabel *lab1 = new QLabel(this);
    //给标签设置大小
    lab1->resize(540,160);
    //给标签设置动图
    QMovie *mv1 = new QMovie(":/pictrue/cxk.gif");
    //将图放入标签中
    lab1->setMovie(mv1);
    //让图动起来
    mv1->start();
    //自动适应标签大小
    lab1->setScaledContents(true);

    //创建第二个标签(用户名标签)
    QLabel *lab2 = new QLabel(this);
    lab2->resize(25,25);
    //给标签设置图片
    lab2->setPixmap(QPixmap(":/pictrue/userName.jpg"));
    //自动适应
    lab2->setScaledContents(true);
    //让标签移动位置
    lab2->move(120,220);

    //创建第三个标签(密码标签)
    QLabel *lab3 = new QLabel(this);
    lab3->resize(25,25);
    lab3->setPixmap(QPixmap(":/pictrue/passwd.jpg"));
    lab3->setScaledContents(true);
    lab3->move(120,255);

    QLabel *lab4 = new QLabel(this);
    lab4->resize(100,160);
    lab4->setPixmap(QPixmap(":/pictrue/zhenaifen1.jpg"));
    lab4->setScaledContents(true);
    lab4->move(0,165);

    QLabel *lab5 = new QLabel(this);
    lab5->resize(100,160);
    lab5->setPixmap(QPixmap(":/pictrue/zhenaifen2.jpg"));
    lab5->setScaledContents(true);
    lab5->move(440,165);


    //==============行编辑器设置============
    //创建第一个行编辑器并指定父对象(账号)
    QLineEdit *edit1 = new QLineEdit(this);
    //给行编辑器设置大小
    edit1->resize(280,30);
    //移动行编辑器
    edit1->move(150,220);
    //设置显示标题
    edit1->setPlaceholderText("ikun账号");

    //创建第二个行编辑器(密码)
    QLineEdit *edit2 = new QLineEdit(this);
    edit2->resize(280,30);
    edit2->move(150,255);
    edit2->setPlaceholderText("密码");
    //设置模式(密码模式:隐藏输入的字符)
    edit2->setEchoMode(QLineEdit::Password);

    //==============按钮设置==============
    //设置按钮并指定父对象
    QPushButton *btn1 = new QPushButton(this);
    //设置按钮大小
    btn1->resize(300,45);
    //移动按钮
    btn1->move(120,345);
    //给按钮设置背景颜色并给边角修弧度
    btn1->setStyleSheet("background-color:rgb(234,210,253);border-radius:10px");
    //给窗口设置标题
    btn1->setText("登录");

    //设置第二个按钮(退出)
    QPushButton *btn2 = new QPushButton(this);
    btn2->resize(30,30);
    btn2->move(510,0);
    btn2->setText("X");
    btn2->setStyleSheet("background-color:skyblue");
    //手动连接信号和槽,基于qt5版本
    connect(btn2,&QPushButton::clicked,this,&Widget::Btn2_slot);



}

Widget::~Widget()
{
    delete ui;
}

void Widget::Btn2_slot(){
    this->close();
}

效果图

实现

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python:五种算法(DBO、WOA、GWO、PSO、GA)求解23个测试函数(python代码)

一、五种算法简介 1、蜣螂优化算法DBO 2、鲸鱼优化算法WOA 3、灰狼优化算法GWO 4、粒子群优化算法PSO 5、遗传算法GA 二、5种算法求解23个函数 &#xff08;1&#xff09;23个函数简介 参考文献&#xff1a; [1] Yao X, Liu Y, Lin G M. Evolutionary programming made…

RF射频干扰被动型红外传感器误判分析及整改事例

1.1 什么是红外传感 测量系统是以红外线为介质&#xff0c;探测可分成为光子和热探测器。 简洁原理就是利用产生的辐射与物质相互作用后呈现出来的物理效应就是它的基本原理。 1.2 红外按方式分类 &#xff08;1&#xff09;被动型红外&#xff1a;本身不会向外界辐射任何能量…

红队攻防实战之phpmyadmin-RCE集锦

世界上只有一种真正的英雄主义&#xff0c;那就是认清了生活的真相后&#xff0c;仍然热爱她 phpmyadmin远程代码执行漏洞 访问该页面&#xff0c;存在弱口令 爆破进入后发现该php版本以及phpmyadmin版本信息&#xff0c;该版本存在远程命令执行漏洞。 使用exp利用此漏洞&am…

建立个人学习观|地铁上的自习室

作者&#xff1a;向知 如果大家有机会来北京&#xff0c;可以来看看工作日早上八九点钟&#xff0c;15 号线从那座叫“顺义”的城市通向“望京”的地铁&#xff0c;你在那上面&#xff0c;能看到明明白白的&#xff0c;人们奔向梦想的模样。 一、地铁上的自习室 我在来北京之前…

RT-Thread学习笔记(六):RT_Thread系统死机日志定位

RT_Thread系统死机日志定位 一、RT_Thread系统死机日志定位二、Cortex-M3 / M4架构知识2.1 Cortex-M3 / M4架构概述2.2 寄存器用途 三、排查步骤 一、RT_Thread系统死机日志定位 RT-Thread 系统发生hardfault死机时&#xff0c;系统默认会打印出一系列寄存器状态帮助用户定位死…

[GPT]Andrej Karpathy微软Build大会GPT演讲(上)--GPT如何训练

前言 OpenAI的创始人之一,大神Andrej Karpthy刚在微软Build 2023开发者大会上做了专题演讲:State of GPT(GPT的现状)。 他详细介绍了如何从GPT基础模型一直训练出ChatGPT这样的助手模型(assistant model)。作者不曾在其他公开视频里看过类似的内容,这或许是OpenAI官方…

大数据技术7:基于StarRocks统一OALP实时数仓

前言&#xff1a; 大家对StarRocks 的了解可能不及 ClickHouse或者是远不及 ClickHouse 。但是大家可能听说过 Doris &#xff0c;而 StarRocks 实际上原名叫做 Doris DB &#xff0c;他相当于是一个加强版的也就是一个 Doris ,也就是说 Doris 所有的功能 StarRocks 都是有的&a…

2023/12/10总结

学习 WebSocket 一共四种方法&#xff0c;传递数据是要通过JSON格式传递 前端 onopen 在连接时 onmessage 收到消息时 通常携带参数 event &#xff0c;event.data 是消息 onerror 发生错误时 onclose 关闭连接时 发送消息 需要安装 vue-native-websocket 包 pnpm i vue-n…

【HarmonyOS开发】控件开发过程中,知识点记录

1、问题记录及解决方案 1.1 资源&#xff08;Icon&i18n&#xff09;问题 控件&#xff1a;只有一个JS文件&#xff0c;不会将任何资源型文件&#xff08;图片、字体、默认文字等&#xff09;打包到SO中。因此&#xff0c;当我们开发控件时&#xff0c;需要将需要使用到的资…

从零构建属于自己的GPT系列5:模型本地化部署(文本生成函数解读、模型本地化部署、文本生成文本网页展示、代码逐行解读)

&#x1f6a9;&#x1f6a9;&#x1f6a9;Hugging Face 实战系列 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在PyCharm中进行 本篇文章配套的代码资源已经上传 从零构建属于自己的GPT系列1&#xff1a;数据预处理 从零构建属于自己的GPT系列2&#xff1a;模型训…

H264码流结构

视频编码的码流结构是指视频经过编码之后得到的二进制数据是怎么组织的&#xff0c;或者说&#xff0c;就是编码后的码流我们怎么将一帧帧编码后的图像数据分离出来&#xff0c;以及在二进制码流数据中&#xff0c;哪一块数据是一帧图像&#xff0c;哪一块数据是另外一帧图像。…

CompletableFuture异步多任务最佳实践

简介 CompletableFuture相比于Java8的并行流&#xff0c;对于处理并发的IO密集型任务有着得天独厚的优势&#xff1a; 在流式编程下&#xff0c;支持构建任务流时即可执行任务。CompletableFuture任务支持提交到自定义线程池&#xff0c;调优方便。 本文所有案例都会基于这样…

计算机网络:数据链路层之差错控制、奇偶校验码、CRC循环冗余码、海明码

带你度过期末难关 文章目录 一、差错控制 1、冗余编码2、编码VS编码二、检错编码 1、奇偶校验码2、CRC循环冗余码三、纠错编码————海明码 海明距离1、确定校验码位数r2、确定校验码和数据的位置3、求出校验码的值4、检错并纠错 纠错的方法一&#xff1a;纠错方法二&#x…

正则表达式(9):扩展正则表达式

正则表达式&#xff08;9&#xff09;&#xff1a;扩展正则表达式 小结 本博文转载自 前文中一直在说&#xff0c;在Linux中&#xff0c;正则表达式可以分为”基本正则表达式”和”扩展正则表达式”。 我们已经认识了”基本正则表达式”&#xff0c;现在&#xff0c;我们来认…

想学编程,但不知道从哪里学起,应该怎么办?

怎样学习任何一种编程语言 我将教你怎样学习任何一种你将来可能要学习的编程语言。本书的章节是基于我和很多程序员学习编程的经历组织的&#xff0c;下面是我通常遵循的流程。 1&#xff0e;找到关于这种编程语言的书或介绍性读物。 2&#xff0e;通读这本书&#xff0c;把…

基于深度学习的超分辨率图像技术一览

超分辨率(Super-Resolution)即通过硬件或软件的方法提高原有图像的分辨率&#xff0c;图像超分辨率是计算机视觉和图像处理领域一个非常重要的研究问题&#xff0c;在医疗图像分析、生物特征识别、视频监控与安全等实际场景中有着广泛的应用。 SR取得了显著进步。一般可以将现有…

30 张图解 HTTP 常见的面试题

前言 在面试过程中&#xff0c;HTTP 被提问的概率还是比较高的 我搜集了 5 大类 HTTP 面试常问的题目&#xff0c;同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的&#xff0c;通过问答 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 协议。 HTTP 基本概…

持续集成交付CICD:使用Maven命令上传Nexus制品

目录 一、实验 1.使用Maven命令上传Nexus制品&#xff08;第一种方式&#xff09; 2.使用Maven命令上传Nexus制品&#xff08;第二种方式&#xff09; 一、实验 1.使用Maven命令上传Nexus制品&#xff08;第一种方式&#xff09; &#xff08;1&#xff09;指定一个 hoste…

Blender学习--制作带骨骼动画的机器人

1. 首先创建一个机器人模型 时间关系&#xff0c;这部分步骤有时间补充 2. 然后为机器人创建一副骨架 时间关系&#xff0c;这部分步骤有时间补充 3.骨骼绑定 切换到物体模式&#xff0c;选中机器人头部&#xff0c;Shift选中骨骼&#xff0c;切换到姿态模式&#xff0c;&am…

zcms企业官网建站系统源码搭建-支持页面自定义

1.支持mysql&#xff0c;sqlite&#xff0c;access三种数据库。 2.模板和标签与asp版的zzzcms通用。 3.asp版的zzzcms的access数据库可直接使用。 4.支持手机站。 &#xff08;增删改查不做描述&#xff09;&#xff1a; 网站信息 名称&#xff0c;logo&#xff0c;微信&…