作业: 手动将登录项目实现,不要使用拖拽编程
并且,当点击登录按钮时,后台会判断账号和密码是否相等,如果相等给出登录成功的提示,并且关闭当前界面,发射一个跳转信号,如果登录失败,则给出登录失败的提示,并清空密码框
当点击取消按钮时,直接关闭当前登录框
头文件:
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QPushButton>
#include<QLabel>
#include<QLineEdit>
#include<QDebug>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private:QLabel *lab1;QLabel *lab2;QLabel *lab3;QLineEdit *edit1;QLineEdit *edit2;QPushButton *btn1;QPushButton *btn2;
};
#endif // WIDGET_H
源文件:
#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent)
{//设置整个界面resize(400,500);setWindowTitle("KK快聊");//给lable1实例化空间并设置(logo)lab1= new QLabel("logo",this);lab1->resize(400,160);lab1->setStyleSheet("background-color:pink;");//给lable2实例化空间并设置(账号)lab2= new QLabel("账号",this);lab2->resize(50,40);lab2->move(40,200);//给lable3实例化空间并设置(密码)lab3= new QLabel("密码",this);lab3->resize(lab2->size());lab3->move(lab2->x(), lab2->y()+lab2->height()+10);//给edit1实例化空间并设置(输入账号)edit1=new QLineEdit(this);edit1->resize(200, 40);edit1->move(100,200);edit1->setAlignment(Qt::AlignCenter); //设置对齐方式edit1->setPlaceholderText("请输入账号"); //设置占位文本//给edit2实例化空间并设置(输入密码)edit2=new QLineEdit(this);edit2->resize(edit1->size());edit2->move(edit1->x(), edit1->y()+edit1->height()+10);edit2->setAlignment(Qt::AlignCenter); //设置对齐方式edit2->setPlaceholderText("请输入密码"); //设置占位文本edit2->setEchoMode(QLineEdit::Password); //设置回显模式//给btn1实例化空间并设置(登录)btn1 = new QPushButton("登录", this);btn1->resize(50,30);btn1->move(140,400);//给btn2实例化空间并设置(取消)btn2 = new QPushButton("取消", this);btn2->resize(btn1->size());btn2->move(btn1->x()+btn1->width()+10, btn1->y());QObject::connect(btn1, &QPushButton::clicked, [this](){if(1){close();}}); QObject::connect(btn2, &QPushButton::clicked, [this](){close();}); }Widget::~Widget()
{
}