嵌入式:QT Day1

一、手动实现登录框

源码:

widge.h

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>           //用于打印输出
#include <QIcon>            //图标头文件
#include <QPushButton>      //按钮类头文件
#include <QLineEdit>        //行编辑器类
#include <QLabel>           //标签文件

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

    //标签类
    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;

    //行编辑器类
    QLineEdit *edit1;
    QLineEdit *edit2;

    //按钮类
    QPushButton *btn1;
    QPushButton *btn2;

};
#endif // WIDGET_H

widge.cpp

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //设置整体大小、标题及图标
    this->setFixedSize(700, 600);
    this->setWindowTitle("IKUN真爱小屋❤");
    this->setWindowIcon(QIcon("F:\\23051C++QT\\QT Day1\\test\\1.jpeg"));
    this->setWindowOpacity(0.95);              //设置透明度

    //设置Logo标签
    lab1 = new QLabel(this);
    lab1->resize(700,200);
    lab1->setPixmap(QPixmap("F:\\23051C++QT\\QT Day1\\test\\2.JPG"));
    lab1->setScaledContents(true);         //设置内容自适应

    //设置用户和密码所图标
    lab2 = new QLabel(this);
    lab2->resize(50,50);
    lab2->setPixmap(QPixmap("F:\\23051C++QT\\QT Day1\\test\\username.png"));
    lab2->setScaledContents(true);
    lab2->move(150,260);

    lab3 = new QLabel(this);
    lab3->resize(50,50);
    lab3->setPixmap(QPixmap("F:\\23051C++QT\\QT Day1\\test\\passwd.jpg"));
    lab3->setScaledContents(true);
    lab3->move(150,360);

    //设置行编辑器
    edit1 = new QLineEdit(this);
    edit1->resize(190, 40);
    edit1->move(280, 265);
    edit1->setStyleSheet("border : none; "
                         "border-bottom: 2px solid grey;");
    edit1->setPlaceholderText("账号:");

    edit2 = new QLineEdit(this);
    edit2->resize(190, 40);
    edit2->move(280, 365);
    edit2->setStyleSheet("border : none; "
                         "border-bottom: 2px solid grey;");
    edit2->setPlaceholderText("密码:");
    edit2->setEchoMode(QLineEdit::Password);

    //设置按钮
    btn1 = new QPushButton(this);
    btn1->setText("登录");
    btn1->resize(130,40);
    btn1->move(150, 490);
    btn1->setIcon(QIcon("F:\\23051C++QT\\QT Day1\\test\\login.png"));

    btn2 = new QPushButton(this);
    btn2->setText("取消");
    btn2->resize(130,40);
    btn2->move(440, 490);
    btn2->setIcon(QIcon("F:\\23051C++QT\\QT Day1\\test\\cancel.png"));
}

Widget::~Widget()
{
}

main.cpp

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

#include <QApplication>

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

二、思维导图:

相关推荐
牛奔5 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
geovindu5 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
学逆向的5 小时前
汇编——JCC指令
开发语言·汇编·网络安全
mayaairi6 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
kite01217 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
l156469488 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie1145141919 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++
IT小盘10 小时前
04-大模型流式输出原理-SSE与Python实现
开发语言·网络·人工智能·python
不如语冰10 小时前
AI大模型入门-Python进阶-上下文管理与with语句
开发语言·数据结构·数据库·人工智能·pytorch·redis·python
阿童木写作11 小时前
Python批量翻译亚马逊商品图实战教程
开发语言·python·xcode