QT作业1

自由发挥登录窗口的应用场景,实现一个登录窗口界面

头文件代码:

cpp 复制代码
#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QWidget>
#include <QIcon>
#include <QLabel>      //标签类
#include <QMovie>      //动图类
#include <QLineEdit>   //行编辑器类
#include <QPushButton> //按钮类

class MyWidget : public QWidget
{
    Q_OBJECT

public:
    MyWidget(QWidget *parent = nullptr);
    ~MyWidget();
};
#endif // MYWIDGET_H

源文件:

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

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    //设置并固定窗口大小
    this->setFixedSize(600,500);
    //设置窗口的图片
    this->setWindowIcon(QIcon("D:/桌面/pictrue/1.jpg"));
    //设置窗口的标题
    this->setWindowTitle("登录账号界面");

    //创建一个标签类指针同时将父对象设为当前this指针指向的对象w
    QLabel *lab1 = new QLabel(this);
    //设置标签大小
    lab1->resize(600,150);
    //创建一个动图类指针接收动图
    QMovie *mv = new QMovie("D:/桌面/pictrue/dt.gif");
    //将动图放入标签中
    lab1->setMovie(mv);
    //让动图动起来
    mv->start();
    //自动适应lab1
    lab1->setScaledContents(true);

    //创建一个标签类指针同时将父对象设为当前this指针指向的对象w
    QLabel *lab2 = new QLabel(this);
    //设置标签的大小
    lab2->resize(50,50);
    //移动标签的位置
    lab2->move(170,200);
    //设置标签的图片
    lab2->setPixmap(QPixmap("D:/桌面/pictrue/2.jpg"));
    //自动适应lab2
    lab2->setScaledContents(true);

    //创建一个标签类指针同时将父对象设为当前this指针指向的对象w
    QLabel *lab3 = new QLabel(this);
    //设置标签的大小
    lab3->resize(50,50);
    //移动标签的位置
    lab3->move(170,260);
    //设置标签的图片
    lab3->setPixmap(QPixmap("D:/桌面/pictrue/3.jpg"));
    //自动适应lab3
    lab3->setScaledContents(true);

    //创建一个行编辑器类的指针同时将父对象设为当前this指针指向的对象w
    QLineEdit *edit1 = new QLineEdit(this);
    //设置行编辑器的大小
    edit1->resize(200,50);
    //移动行编辑器的位置
    edit1->move(220,200);
    //占位
    edit1->setPlaceholderText("账号");

    //创建一个行编辑器类的指针同时将父对象设为当前this指针指向的对象w
    QLineEdit *edit2 = new QLineEdit(this);
    //设置行编辑器的大小
    edit2->resize(200,50);
    //移动行编辑器的位置
    edit2->move(220,260);
    //占位
    edit2->setPlaceholderText("密码");
    //设置显示模式
    edit2->setEchoMode(QLineEdit::Password);

    //创建一个按钮类的指针同时设置文本并将父对象设为当前this指针指向的对象w
    QPushButton *btn1 = new QPushButton("登录",this);
    //设置按钮大小
    btn1->resize(300,50);
    //移动按钮的位置
    btn1->move(150,350);
    //设置按钮的颜色并倒角
    btn1->setStyleSheet("background-color:rgb(40,200,250)");
}

MyWidget::~MyWidget()
{
}

主函数文件:

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

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MyWidget w;
    w.show();
    return a.exec();
}

运行结果:

思维导图:

相关推荐
银河技术5 小时前
从脚本到 Operator:用 Go 构建可靠的微服务自动扩缩容控制器
开发语言·微服务·golang
GIS数据转换器7 小时前
地下空间综合管廊运营管理平台
大数据·开发语言·人工智能·经验分享·perl
Wang's Blog12 小时前
Java 项目实战: 交友项目:登录链路回顾与今日任务地图
java·开发语言·状态模式·交友
砚底藏山河12 小时前
python量化:行情数据回溯
java·开发语言·python·金融·maven
今年下半年12 小时前
AI智能体项目实战记录(02):初始化 Python 项目
开发语言·人工智能·python·fastapi
Williamtym13 小时前
PickGo Lab实践:用浏览器、Python和MCP串起机器人搬运仿真
开发语言·python·机器人
DongQiShanRen13 小时前
六根硬件映射(四):归属澄清、两处不一致与卷十一总表
开发语言·人工智能·算法·rust·哈希算法·集成学习
CS创新实验室13 小时前
Python 对象“死“了之后去了哪?——引用计数与分代垃圾回收
开发语言·jvm·python
quantdash_cc13 小时前
Pandas 处理分钟级股票行情:从原始数据清洗到 K 线聚合
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
yu_zhidun13 小时前
企业电脑监控软件怎么选:别只看功能清单,先看这 6 个底层能力
开发语言·电脑·php·域智盾系统