DAY1,Qt [ 手动实现登录框(信息调试类,按钮类,行编辑器类,标签类的使用)]

1.手动实现登录框;

---mychat.h---头文件
cpp 复制代码
#ifndef MYCHAT_H
#define MYCHAT_H

#include <QWidget>
#include <QDebug>  //打印信息
#include <QIcon> //图标
#include <QPushButton>  //按钮
#include <QLineEdit> //行编辑器类
#include <QLabel>  //标签类

class Mychat : public QWidget
{
    Q_OBJECT

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

    QLabel *lab1;  //标签类,设置背景
    QLabel *lab2;  //设置账号图标
    QLabel *lab3;  //设置密码图标
    QLineEdit *edit1;  //行编辑器类,设置明文账号
    QLineEdit *edit2;  //设置密文密码
    QPushButton *but1;  //按钮类,设置登录按钮
    QPushButton *but2;  //设置取消按钮

};
#endif // MYCHAT_H
---mychar.cpp---源文件
cpp 复制代码
#include "mychat.h"

Mychat::Mychat(QWidget *parent)
    : QWidget(parent)
{
    //对组件界面的设置
    qDebug()<<this->size();
    this->setFixedSize(this->size());  //固定界面尺寸
    this->setWindowOpacity(0.9);  //透明度

    //设置窗口
    this->setWindowTitle(" 轻松一刻的你");  //窗口内容
    this->setWindowIcon(QIcon("D:\\桌面\\qt_icon\\企鹅.png"));  //窗口图标

    //设置背景
    lab1 = new QLabel;
    lab1->setParent(this);  //将当前组件设置为父组件
    lab1->resize(700,200);  //更改标签大小
    lab1->setPixmap(QPixmap("D:\\桌面\\qt_icon\\背景1.jpg"));
    lab1->setScaledContents(true);  //自动适应空间

    //设置登录页面
    //账号密码图形标签
    lab2 = new QLabel;
    lab2->setParent(this);  //将当前组件设置为父组件
    //lab2->setStyleSheet("background-color:blue;");  //参考
    lab2->resize(50,40);  //设置大小
    lab2->move(170,250);  //位置
    lab2->setPixmap(QPixmap("D:\\桌面\\qt_icon\\账号.png"));
    lab2->setScaledContents(true);  //自动适应空间

    lab3 = new QLabel(this);
    //lab3->setStyleSheet("background-color:blue;");  //参考
    lab3->resize(lab2->size());  //设置大小
    lab3->move(170,320);  //位置
    lab3->setPixmap(QPixmap("D:\\桌面\\qt_icon\\密码.png"));
    lab3->setScaledContents(true);  //自动适应空间

    //行文本
    edit1 = new QLineEdit(this);
    edit1->move(260,250);  //位置
    qDebug()<<edit1->size();  //获取大小
    edit1->resize(220,40);  //设置大小
    edit1->setPlaceholderText("账号");  //占位提示

    edit2 = new QLineEdit(this);
    edit2->move(260,320);  //位置
    edit2->resize(edit1->size());  //设置大小
    edit2->setEchoMode(QLineEdit::Password);  //设置密文
    edit2->setPlaceholderText("密码");  //占位提示

    //登录,取消按钮
    but1 = new QPushButton(this);
    qDebug()<<but1->size();  //获取大小
    //but1->setStyleSheet("background-color:red;");  //参考
    but1->move(340,400);  //位置
    but1->resize(70,40);  //设置大小
    but1->setText("登录");  //文本
    but1->setIcon(QIcon("D:\\桌面\\qt_icon\\登录.png"));

    but2 = new QPushButton(this);
    //but2->setStyleSheet("background-color:red;");  //参考
    but2->move(440,400);  //位置
    but2->resize(but1->size());  //设置大小
    but2->setText("取消");  //文本
    but2->setIcon(QIcon("D:\\桌面\\qt_icon\\取消.png"));
}

Mychat::~Mychat()
{
}
---main.cpp---测试文件
cpp 复制代码
#include "mychat.h"

#include <QApplication>

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

2.今日思维导图;

相关推荐
初次见面我叫泰隆13 分钟前
Qt——5、Qt系统相关
开发语言·qt·客户端开发
初願致夕霞19 分钟前
Linux_进程
linux·c++
Thera7771 小时前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
Wei&Yan1 小时前
数据结构——顺序表(静/动态代码实现)
数据结构·c++·算法·visual studio code
wregjru1 小时前
【QT】4.QWidget控件(2)
c++
浅念-1 小时前
C++入门(2)
开发语言·c++·经验分享·笔记·学习
小羊不会打字1 小时前
CANN 生态中的跨框架兼容桥梁:`onnx-adapter` 项目实现无缝模型迁移
c++·深度学习
Max_uuc2 小时前
【C++ 硬核】打破嵌入式 STL 禁忌:利用 std::pmr 在“栈”上运行 std::vector
开发语言·jvm·c++
近津薪荼2 小时前
dfs专题4——二叉树的深搜(验证二叉搜索树)
c++·学习·算法·深度优先
牵牛老人2 小时前
【Qt 开发后台服务避坑指南:从库存管理系统开发出现的问题来看后台开发常见问题与解决方案】
开发语言·qt·系统架构