华清远见嵌入式学习——QT——作业1

作业要求:

代码:

①:头文件

cpp 复制代码
#ifndef LOGIN_H
#define LOGIN_H

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

class Login : public QWidget
{
    Q_OBJECT

public:
    Login(QWidget *parent = nullptr);
    ~Login();
};
#endif // LOGIN_H

②:源文件

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

Login::Login(QWidget *parent)
    : QWidget(parent)
{
    //关于窗口的设置
    this->resize(640,640);    //重新设置窗口大小
    this->setFixedSize(640,640);    //固定窗口大小
    this->setWindowFlag(Qt::FramelessWindowHint);   //将窗口标题去除
    this->setStyleSheet("background-color:rgb(179,183,170)");  //设置窗口背景颜色



    //关于行编辑器的设置
    QLineEdit *edit1 = new QLineEdit(this);    //实例化一个行编辑器对象,用于输入登录账号
    edit1->resize(320,80);    //重新设置行编辑器的大小
    edit1->move(160,260);    //将行编辑器移动至合适的位置
    edit1->setStyleSheet("background-color:white");  //设置行编辑器背景颜色
    edit1->setPlaceholderText("账号");    //使用占位,提示要在该行编辑器内输入的内容

    QLineEdit *edit2 = new QLineEdit(this);    //实例化一个行编辑器对象,用于输入登录密码
    edit2->resize(320,80);    //重新设置行编辑器的大小
    edit2->move(160,360);     //将行编辑器移动至合适的位置
    edit2->setPlaceholderText("密码");    //使用占位,提示要在该行编辑器内输入的内容
    edit2->setStyleSheet("background-color:white");   //设置行编辑器背景颜色
    edit2->setEchoMode(QLineEdit::Password);    //将行编辑器的输出模式设置为密码模式

    //关于动图和标签的设置
    //实例化一个动图对象,用于接收动图
    QMovie *mv1 = new QMovie("C:\\Users\\谢俊翔\\Desktop\\pictrue\\pictrue\\xxxh.gif");
    //将动图放入lab1中
    QLabel *lab1 = new QLabel(this);    //实例化一个标签,用于存放动图
    lab1->resize(640,260);     //重新设置标签的大小
    lab1->setMovie(mv1);     //存放动图
    mv1->start();         //让动图动起来
    lab1->setScaledContents(true);         //自动适应label

    //实例化一个动图对象,用于接收动图
    QMovie *mv2 = new QMovie("C:\\Users\\谢俊翔\\Desktop\\pictrue\\pictrue\\xh5.gif");
    QLabel *lab2 = new QLabel(this);     //实例化一个标签,用于存放动图
    lab2->resize(80,80);    //重新设置标签的大小
    lab2->move(80,260);     //将标签移动至合适的位置
    lab2->setMovie(mv2);    //存放动图
    mv2->start();           //让动图动起来
    lab2->setScaledContents(true);      //自动适应label

    //实例化一个动图对象,用于接收动图
    QMovie *mv3 = new QMovie("C:\\Users\\谢俊翔\\Desktop\\pictrue\\pictrue\\xh3.gif");
    QLabel *lab3 = new QLabel(this);     //实例化一个标签,用于存放动图
    lab3->resize(80,80);    //重新设置标签的大小
    lab3->move(80,360);     //将标签移动至合适的位置
    lab3->setMovie(mv3);    //存放动图
    mv3->start();           //让动图动起来
    lab3->setScaledContents(true);      //自动适应label

    QLabel *lab4 = new QLabel("罗小黑之家欢迎您的到来 (づ ̄3 ̄)づ╭❤~",this);   //实例化一个标签,用于填充文字
    lab4->resize(320,40);        //重新设置标签大小
    lab4->move(160,460);        //将标签移动至合适的位置


    //关于按钮的设置
    QPushButton *btn1 = new QPushButton("登录",this);     //实例化一个按钮对象,用于登录
    btn1->resize(320,60);      //重新设置按钮的大小
    btn1->setStyleSheet("background-color:rgb(138,183,113);border-radius:10px");   //设置按钮背景颜色并设置圆角
    btn1->move(160,500);    //移动按钮至合适位置


    QPushButton *btn2 = new QPushButton("x",this);     //实例化一个按钮对象,用于关闭窗口
    btn2->resize(30,30);      //重新设置按钮的大小
    btn2->setStyleSheet("background-color:white");   //设置按钮背景颜色
    btn2->move(610,0);    //移动按钮至合适位置

    QPushButton *btn3= new QPushButton("-",this);     //实例化一个按钮对象,用于最小化窗口
    btn3->resize(30,30);      //重新设置按钮的大小
    btn3->setStyleSheet("background-color:white");   //设置按钮背景颜色
    btn3->move(580,0);    //移动按钮至合适位置
}

Login::~Login()
{
}

③:主函数文件

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

#include <QApplication>

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

代码效果图:

思维导图:

模拟面试题:

相关推荐
dayouziei2 小时前
java的类加载机制的学习
java·学习
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
晨曦_子画6 小时前
3种最难学习和最容易学习的 3 种编程语言
学习
城南vision6 小时前
Docker学习—Docker核心概念总结
java·学习·docker
ctrey_7 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习
十年之少7 小时前
由中文乱码引来的一系列学习——Qt
学习
u0101526588 小时前
STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
笔记·stm32·学习
王俊山IT8 小时前
C++学习笔记----10、模块、头文件及各种主题(二)---- 预处理指令
开发语言·c++·笔记·学习
慕卿扬9 小时前
基于python的机器学习(二)—— 使用Scikit-learn库
笔记·python·学习·机器学习·scikit-learn
WZF-Sang9 小时前
Linux—进程学习-01
linux·服务器·数据库·学习·操作系统·vim·进程