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.今日思维导图;

相关推荐
2401_891482173 小时前
多平台UI框架C++开发
开发语言·c++·算法
anzhxu3 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
无敌昊哥战神4 小时前
【LeetCode 257】二叉树的所有路径(回溯法/深度优先遍历)- Python/C/C++详细题解
c语言·c++·python·leetcode·深度优先
Darkwanderor4 小时前
三分算法的简单应用
c++·算法·三分法·三分算法
2401_831920745 小时前
分布式系统安全通信
开发语言·c++·算法
2401_877274245 小时前
从匿名管道到 Master-Slave 进程池:Linux 进程间通信深度实践
linux·服务器·c++
汉克老师5 小时前
GESP5级C++考试语法知识(八、链表(三)循环链表)
c++·约瑟夫问题·循环链表·gesp5级·gesp五级
阿贵---6 小时前
C++中的RAII技术深入
开发语言·c++·算法
PiKaMouse.6 小时前
navigation2-humble从零带读笔记第一篇:nav2_core
c++·算法·机器人
lightqjx6 小时前
【算法】二分算法
c++·算法·leetcode·二分算法·二分模板