Qt设置类似于qq登录页面(ikun)

news/2024/12/30 0:46:29/

头文件

#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_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic: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.ppmy.cn/news/1269526.html

相关文章

Ganache结合内网穿透实现远程或不同局域网进行连接访问

文章目录 前言1. 安装Ganache2. 安装cpolar3. 创建公网地址4. 公网访问连接5. 固定公网地址 前言 Ganache 是DApp的测试网络&#xff0c;提供图形化界面&#xff0c;log日志等&#xff1b;智能合约部署时需要连接测试网络。 Ganache 是一个运行在本地测试的网络,通过结合cpol…

ArrayList集合的两个实例应用,有趣的洗牌算法与杨辉三角

本节课的内容&#xff0c;就让我们来学习一下ArrayList集合的应用&#xff0c;ArrayList的本质就是一个顺序表&#xff0c;那下面一起来学习吧 目录 一、杨辉三角 1.题目详情及链接 2.剖析题目 3.思路及代码 二、洗牌算法 1.创造牌对象 2.创造一副牌 3.洗牌操作 4.发…

WPF-UI HandyControl 简单介绍

文章目录 前言我的网易云专栏和Gitee仓库HandyControlHandyControl示例相关资源地址 我的运行环境快速开始和Material Design功能对比手风琴右键菜单自动补充滚动条轮播图消息通知步骤条托盘按钮 结尾 前言 最近我在研究如何使用WPF做一个比较完整的项目&#xff0c;然后我就先…

【问题处理】—— lombok 的 @Data 大小写区分不敏感

问题描述 今天在项目本地编译的时候&#xff0c;发现有个很奇怪的问题&#xff0c;一直提示某位置找不到符号&#xff0c; 但是实际在Idea中显示确实正常的&#xff0c;一开始以为又是IDEA的故障&#xff0c;所以重启了IDEA&#xff0c;并执行了mvn clean然后重新编译。但是问…

【mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar安装】linux安装mysql5.7

之前安装的时候遇到了很多问题&#xff0c;浪费了一些时间。整理出这份教程&#xff0c;照着做基本一遍过。 这是安装包: 链接&#xff1a;https://pan.baidu.com/s/1gBuQBjA4R5qRYZKPKN3uXw?pwd1nuz 1.下载安装包&#xff0c;上传到linux。我这里就放到downloads目录下面…

MSF学习

之前的渗透测试中 其实很少用到 cs msf 但是在实际内网的时候 可以发现 msf cs 都是很好用的 所以现在我来学习一下 msf的使用方法 kali自带msf https://www.cnblogs.com/bmjoker/p/10051014.html 使用 msfconsole 启动即可 首先就是最正常的木马生成 所以这里其实只需…

python自动化测试实战 —— WebDriver API的使用

软件测试专栏 感兴趣可看&#xff1a;软件测试专栏 自动化测试学习部分源码 python自动化测试相关知识&#xff1a; 【如何学习Python自动化测试】—— 自动化测试环境搭建 【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更…

mysql迁移步骤

MySQL迁移是指将MySQL数据库从一台服务器迁移到另一台服务器。这可能是因为您需要升级服务器、增加存储空间、提高性能或改变数据库架构。 以下是MySQL迁移的一般步骤&#xff1a; 以上是MySQL迁移的一般步骤&#xff0c;具体步骤可能因您的环境和需求而有所不同。在进行迁移之…