2023年12月7日:QT实现登陆界面

cpp 复制代码
#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    //==========窗口设置===================
    this->resize(600,500);//重新设置窗口大小
    this->setWindowTitle("QQ-盗版");//设置窗口名为QQ-盗版
    this->setWindowIcon(QIcon("D:\\Qt\\funny\\picture.jpg"));//窗口插入图标
    this->setWindowFlag(Qt::FramelessWindowHint);//设置成纯净模式


     //==========标签设置===================
    //QMovie *mv1 = new QMovie("D:\\Qt\\funny\\pic_3.gif");
    QMovie *mv1 = new QMovie("D:\\Qt\\funny\\pic_7.gif");
    QLabel *lab3 = new QLabel(this);
    lab3->resize(600,500);//重新设置标签大小
    lab3->setStyleSheet("background-color:rgb(255,255,255)");//设置标签背景颜色
    lab3->setMovie(mv1);
    mv1->start();
    lab3->setScaledContents(true);

    QLabel *lab1 = new QLabel(this);
    lab1->resize(40,30);//重新设置标签大小
    lab1->setPixmap(QPixmap("D:\\Qt\\funny\\picture.jpg"));//向标签中插入图像
    lab1->setScaledContents(true);//自动填充

    QLabel *lab2 = new QLabel("QQ-盗版",this);
    lab2->resize(60,30);//重新设置标签大小
    lab2->move(45,0);//x轴方向移动45,y轴不动
    lab2->setScaledContents(true);//自动填充大小

//    QLabel *lab4 = new QLabel(this);
//    lab4->resize(60,60);//重新设置头像标签的大小
//    lab4->move(270,250);//移动头像的位置
//    lab4->setStyleSheet("background-color:rgb(0,0,0);border-radius:30px");//消除棱角

    QMovie *mv2 = new QMovie("D:\\Qt\\funny\\pic_8.gif");
    QLabel *lab5 = new QLabel(this);//账号标签
    lab5->resize(30,30);//设置标签大小
    lab5->move(150,330);//移动标签
    lab3->setStyleSheet("background-color:rgb(255,255,255)");//设置标签背景颜色
    lab5->setMovie(mv2);
    mv2->start();
    lab5->setScaledContents(true);
    lab5->setScaledContents(true);//自动填充

    QMovie *mv3 = new QMovie("D:\\Qt\\funny\\pic_9.gif");
    QLabel *lab6 = new QLabel(this);//密码标签
    lab6->resize(30,30);//设置标签大小
    lab6->move(150,370);//移动标签
    lab6->setMovie(mv3);
    mv3->start();
    lab6->setScaledContents(true);
    lab6->setScaledContents(true);//自动填充



    //==========行编辑器设置===================
    QLineEdit *edit1 = new QLineEdit(this);
    edit1->resize(270,30);//设置行编辑器大小
    edit1->move(180,330);//移动行编辑器位置
    edit1->setPlaceholderText("账号");//填充占位文本

    QLineEdit *edit2 = new QLineEdit(this);
    edit2->resize(270,30);//设置行编辑器大小
    edit2->move(180,370);//移动行编辑器位置
    edit2->setPlaceholderText("密码");//填充占位文本
    edit2->setEchoMode(QLineEdit::Password);

     //==========行编辑器设置===================
    QPushButton *btn1 = new QPushButton(this);
    btn1->resize(300,40);//设置按钮大小
    btn1->move(150,430);//移动按钮位置
    btn1->setStyleSheet("background-color:rgb(160,231,206);border-radius:3px");//填充底色并消除棱角
    btn1->setText("登录");//插入文本
}

MyWidget::~MyWidget()
{
}

思维导图

相关推荐
必须会一定会3 小时前
Agent Plugins 1.0实战:plugin.json、skills、mcp.json目录结构与迁移
开发语言·人工智能·ai编程
St_rive4 小时前
Page Object设计模式
java·开发语言·设计模式
wp123_14 小时前
硬件元器件笔记|IPX8 防水 Type‑C 母座安费诺 124018802112A 与 TONEVEE TY48086‑24A 分析
c语言·开发语言·笔记
wuyk5554 小时前
4.树:一对多的层次数据结构
开发语言·数据结构·stm32·单片机
杨运交5 小时前
[060][调度模块]Redisson vs Redis 原生锁:两种分布式锁实现深度对比
数据库·redis·分布式
FungLeo5 小时前
Node 后端实战 · 列表查询到底怎么写?一个通用 DSL 封装,过滤分页排序一次搞定
数据库·node.js·serverless·dsl 封装·通用列表查询
luj_17685 小时前
桥牌思维启示:系统设计的模块化架构
c语言·开发语言·c++·经验分享·算法
抓蛙师5 小时前
多租户 tenant_id SQL 注入漏洞分析与应急响应报告
数据库·sql
ACP广源盛139246256735 小时前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 私有化部署下 GSV2221 视频转换芯片机遇分析
大数据·数据库·人工智能