看下效果图:

直接看代码,需要的直接复制过去,可以直接使用:

#ifndef LOGINWGT_H
#define LOGINWGT_H#include <QWidget>
#include <QLineEdit>
#include <QPushButton>
#include <QLabel>
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endifclass LoginWgt : public QLabel
{Q_OBJECT
public:explicit LoginWgt(QWidget *parent = nullptr);~LoginWgt();void Init();protected:void mousePressEvent(QMouseEvent *event);void mouseReleaseEvent(QMouseEvent *event);void mouseMoveEvent(QMouseEvent *event);
signals:private:QPushButton *m_pLoginBtn=nullptr;QPushButton *m_pCancelBtn=nullptr;QPushButton *m_pRegisterBtn=nullptr;QLineEdit *m_pUserNameEdit=nullptr;QLineEdit *m_pPasswordEdit=nullptr;QPoint m_ClickePoint;bool m_bClick=false;};#endif // LOGINWGT_H
#include "loginwgt.h"
#include "function.h"
#include <QHBoxLayout>
#include <QFont>
#include <QTextCodec>
#include <QMouseEvent>LoginWgt::LoginWgt(QWidget *parent) : QLabel(parent)
{this->resize(500,400);this->setWindowFlag(Qt::FramelessWindowHint);QPixmap pixMap(":/Image/loginbackground.jpg");this->setPixmap(pixMap);Init();}LoginWgt::~LoginWgt()
{}void LoginWgt::Init()
{QPushButton *minBtn=new QPushButton(this);minBtn->setFixedSize(40,40);minBtn->setIcon(QIcon(":/Image/min.png"));QPushButton *maxBtn=new QPushButton(this);maxBtn->setFixedSize(40,40);maxBtn->setIcon(QIcon(":/Image/max.png"));QPushButton *closeBtn=new QPushButton(this);closeBtn->setFixedSize(40,40);closeBtn->setIcon(QIcon(":/Image/close.png"));minBtn->setStyleSheet("QPushButton{border:none}""QPushButton::hover{background:rgb(145,237,253)}");maxBtn->setStyleSheet("QPushButton{border:none}""QPushButton::hover{background:rgb(145,237,253)}");closeBtn->setStyleSheet("QPushButton{border:none}""QPushButton::hover{background:rgb(145,237,253)}");QWidget *titleWgt=new QWidget(this);QHBoxLayout *titleLayout=new QHBoxLayout(this);titleLayout->addStretch();titleLayout->addWidget(minBtn);titleLayout->addWidget(maxBtn);titleLayout->addWidget(closeBtn);titleLayout->setSpacing(2);titleLayout->setMargin(0);titleWgt->setLayout(titleLayout);titleWgt->setStyleSheet("background:rgb(229,241,251)");titleWgt->setFixedHeight(35);QFont textFont=GetTextFont();m_pLoginBtn=new QPushButton(tr("登录"),this);m_pCancelBtn=new QPushButton(tr("取消"),this);m_pRegisterBtn=new QPushButton(tr("注册"),this);m_pUserNameEdit=new QLineEdit(this);m_pPasswordEdit=new QLineEdit(this);m_pLoginBtn->setStyleSheet("border:none;background:rgb(145,237,253)");m_pCancelBtn->setStyleSheet("border:none;background:rgb(145,237,253)");m_pLoginBtn->setFont(textFont);m_pCancelBtn->setFont(textFont);m_pRegisterBtn->setFont(textFont);m_pUserNameEdit->setFont(textFont);m_pPasswordEdit->setFont(textFont);m_pLoginBtn->setFixedSize(128,27);m_pCancelBtn->setFixedSize(128,27);m_pUserNameEdit->setFixedSize(250,27);m_pPasswordEdit->setFixedSize(250,27);m_pRegisterBtn->setFixedSize(40,27);m_pRegisterBtn->setStyleSheet("border:none;color:darkred");m_pUserNameEdit->setPlaceholderText(tr("请输入用户名"));m_pPasswordEdit->setPlaceholderText(tr("请输入密码"));m_pUserNameEdit->setStyleSheet("background:rgba(145,237,253,0.5);border:none;border-radius:2px");m_pPasswordEdit->setStyleSheet("background:rgba(145,237,253,0.5);border:none;border-radius:2px");QFont titleFont=GetTitleFont();QLabel *titleLabel=new QLabel(tr("欢迎"));titleLabel->setAlignment(Qt::AlignCenter);titleLabel->setFont(titleFont);titleLabel->setStyleSheet("color:red");//titleLabel->setFixedSize(200,50);//    QLabel *userNameLabel=new QLabel(tr("用户名: "),this);
//    QLabel *passwordLabel=new QLabel(tr("密码: "),this);
//    userNameLabel->setFont(textFont);
//    passwordLabel->setFont(textFont);//    userNameLabel->setStyleSheet("color:red");
//    passwordLabel->setStyleSheet("color:red");//    userNameLabel->setFixedSize(50,27);
//    passwordLabel->setFixedSize(50,27);QWidget *userNameWgt=new QWidget(this);QHBoxLayout *userNameLayout=new QHBoxLayout(this);//userNameLayout->addWidget(userNameLabel);userNameLayout->addWidget(m_pUserNameEdit);userNameLayout->setMargin(0);userNameLayout->setSpacing(5);userNameWgt->setLayout(userNameLayout);QWidget *passWordWgt=new QWidget(this);QHBoxLayout *passWordLayout=new QHBoxLayout(this);//passWordLayout->addWidget(passwordLabel);passWordLayout->addWidget(m_pPasswordEdit);passWordLayout->setMargin(0);passWordLayout->setSpacing(5);passWordWgt->setLayout(passWordLayout);QWidget *btnWgt=new QWidget(this);QHBoxLayout *btnLayout=new QHBoxLayout(this);btnLayout->addStretch();btnLayout->addWidget(m_pLoginBtn);btnLayout->addWidget(m_pCancelBtn);btnLayout->setSpacing(20);btnLayout->setMargin(0);btnLayout->addStretch();btnWgt->setLayout(btnLayout);QWidget *RegisterWgt=new QWidget(this);QHBoxLayout *RegisterLayout=new QHBoxLayout(this);QLabel *regisLabel=new QLabel(tr("如果你还没有账号,请点击"));regisLabel->setFixedWidth(145);regisLabel->setFont(textFont);RegisterLayout->addWidget(regisLabel);RegisterLayout->addWidget(m_pRegisterBtn);RegisterLayout->setMargin(10);RegisterLayout->setSpacing(0);RegisterLayout->addStretch();RegisterWgt->setLayout(RegisterLayout);QVBoxLayout *mainLayout=new QVBoxLayout(this);mainLayout->addWidget(titleWgt);mainLayout->addWidget(titleLabel);mainLayout->addWidget(userNameWgt);mainLayout->addWidget(passWordWgt);mainLayout->addWidget(btnWgt);mainLayout->addWidget(RegisterWgt);mainLayout->setMargin(0);mainLayout->setSpacing(5);this->setLayout(mainLayout);
}void LoginWgt::mousePressEvent(QMouseEvent *event)
{if(event->button()==Qt::LeftButton){m_ClickePoint=event->globalPos()-this->pos();m_bClick=true;}
}void LoginWgt::mouseReleaseEvent(QMouseEvent *event)
{m_bClick=false;
}void LoginWgt::mouseMoveEvent(QMouseEvent *event)
{if(event->buttons()==Qt::LeftButton&&m_bClick){this->move(event->globalPos()-m_ClickePoint);}
}

图片自己网上找就可以了

qt制作漂亮的登录界面,仅供参考相关推荐

  1. 【电子文件制作攻略】(仅供参考)

    [电子文件制作攻略](仅供参考) 1. 文件扫描 工具:手机应用"口袋扫描仪"或"扫描全能王" 下载:通过官网https://www.myhithink.com ...

  2. Qt制作漂亮个性化的界面

    Qt怎么做漂亮个性化的界面.下面是界面在window和linux下的样子.视频课程链接https://edu.csdn.net/course/detail/26797/341351

  3. js逆向加密五邑大学教务系统密码AES实现模拟登录(仅供参考)

    最近下班无聊,就看了一下之前写的教务系统模拟登录代码(python-爬虫),整体逻辑大概自己总结了一下: 1.请求验证码图片. 2.对输入的密码进行加密. 3.封装账号,密码,验证码,发送post请求 ...

  4. 写一个漂亮的登录界面

    好的,我会尽力为您提供一个漂亮的登录界面的设计建议. 首先,我们可以在界面的上方设置一个清晰的标题栏,标题栏中可以包含网站的 logo 和名称. 然后,在界面的中间部分,我们可以设置一个表单来让用户输 ...

  5. 怎么用Android做登录界面,利用Android怎么制作一个APP登录界面

    利用Android怎么制作一个APP登录界面 发布时间:2020-12-02 17:09:10 来源:亿速云 阅读:79 作者:Leah 这期内容当中小编将会给大家带来有关利用Android怎么制作一 ...

  6. Flutter 制作漂亮的登录表单

    在本教程中,我将向您展示如何在 Flutter 和 Android studio 中制作漂亮的登录表单, 您将学习如何制作背景图像.如何在 Flutter中制作圆形按钮.如何添加一些不透明度以及如何添 ...

  7. 【vue+pc端】实现微信扫码登录pc端,后端通过微信开发平台,前端生成二维码(仅供参考)

    这两周的需求是通过微信扫码登录pc端,刚定下需求原型图还没出来前,后端特意发了微信开发平台的链接给我,关于如何生成二维码的文档,以及扫码跳转后如何传code给他. 请戳这里准备工作|微信开放文档 我最 ...

  8. 使用模板快速制作H5网页(仅供参考)

    #[转载] 使用模板快速制作H5网页(仅供参考) 教程来源: 零基础30分钟学会制作网站--如何使用HTML网页模板(更新P2字幕版) 作者:SolidifieRay 1.HTML整体框架: < ...

  9. 用vue设计一个漂亮的登录界面

    你好! 在 Vue 中设计一个漂亮的登录界面可以使用以下步骤: 准备好所需的图片和样式文件,包括背景图片和字体. 在 Vue 组件的 template 部分中,使用 HTML 元素和组件创建登录表单的 ...

  10. 【学生请假系统——开题报告 分享(仅供参考呀)】

    目录 一.研究目的和意义: 二.课题研究现状: 三.课题研究主要内容.实施方案及创新点: 四.课题进度安排: 五.主要参考文献:(仅供参考呀!) 一.研究目的和意义: 1.研究目的 开发高校学生请假系 ...

最新文章

  1. Spoj LCS2 - Longest Common Substring II
  2. 最简单人工智能python_Python人工智能之路 - 第四篇 : jieba gensim 最好别分家之最简单的相似度实现...
  3. 瑞星:周末拦截挂马网站数减少 新闻类网站占主打
  4. 【Android】Android国际化
  5. 记一次ubuntu阿里的下载源的问题
  6. 程序详细设计之代码编写规范_我在不编写任何代码的情况下建立了一个设计策划网站
  7. 在hue中操作hive
  8. U-LINK2 升级后低版本不识别问题
  9. 【渝粤教育】国家开放大学2018年春季 0100-22T程序设计基础 参考试题
  10. 8.23玩转linux第三天之history、alias、unalias 、mkdir、rmdir、tree命令(一)
  11. 好用的linux连接工具
  12. 假若明天来临——《AI.未来》读后感3900字
  13. array 前端面试题_前端面试中的常见的算法问题
  14. gradle优化之 总体配置优化
  15. matlab中进行拟合自定义形式的函数
  16. 简单的图书管理系统(类的练习)
  17. IMF: Interactive Multimodal Fusion Model for Link Prediction
  18. 3D立体相册 html+css
  19. js获取url地址参数
  20. fm算法详解_Python实现FM算法解析

热门文章

  1. POJ3304 Segments
  2. eslint+prettier+husky的配置说明
  3. Windows查看计算机服务监听的端口号
  4. python爬取汽车之家数据_Python神技能 | 使用爬虫获取汽车之家全车型数据
  5. linux中dpkg找不到命令_Linux中tree命令的使用
  6. python全自动化渗透工具_Python自动化渗透(一)
  7. directx修复工具v3.2增强版_「电脑知识」USBOS 超级PE启动维护工具增强版及标准版...
  8. 苹果的水果忍者未能连接到服务器是怎么回事,水果忍者无法连接服务器如何解决...
  9. 部署到gcp_Linux基础架构学习 - 使用GCP托管云解决方案 - Day09
  10. mysql如何查看事务日记_修复MySQL中人人头疼的Bug,看这篇就够