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

相关推荐
jrrz08283 分钟前
LeetCode 热题100(七)【链表】(1)
数据结构·c++·算法·leetcode·链表
可峰科技14 分钟前
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
开发语言·qt
咖啡里的茶i18 分钟前
Vehicle友元Date多态Sedan和Truck
c++
海绵波波10724 分钟前
Webserver(4.9)本地套接字的通信
c++
@小博的博客30 分钟前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
爱吃喵的鲤鱼1 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
7年老菜鸡2 小时前
策略模式(C++)三分钟读懂
c++·qt·策略模式
Ni-Guvara2 小时前
函数对象笔记
c++·算法
似霰2 小时前
安卓智能指针sp、wp、RefBase浅析
android·c++·binder
芊寻(嵌入式)2 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习