手动将登录项目实现
//widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QtTextToSpeech/QTextToSpeech>
#include <QPushButton>
#include <QLabel>
#include <QDebug>
#include <QMovie>
#include <QLineEdit>class Widget : public QWidget
{Q_OBJECT//信号
signals:void my_signals();//槽
public slots:void loginclicked();void exitclicked();public:Widget(QWidget *parent = nullptr);~Widget();private:QPushButton *login_btn;QPushButton *exit_btn;QLabel *title_lab;QLabel *gif_lab;QLabel *username_lab;QLabel *pwd_lab;QLineEdit *username_lineE;QLineEdit *pwd_lineE;
};
#endif // WIDGET_H
//widget.cpp
#include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent)
{//界面设置this->setWindowTitle("登录");this->resize(800,600);this->setStyleSheet("background-color:pink;");//登录按钮this->login_btn = new QPushButton(this);this->login_btn->resize(100,40);this->login_btn->setText("登录");this->login_btn->move(200,300);this->login_btn->setStyleSheet("background-color:skyblue; color:black; border-radius:10px;font-size:20px");this->login_btn->setIcon(QIcon("D:\\Desktop\\green.png"));//信号与槽连接 QT5版本QObject::connect(this->login_btn,&QPushButton::clicked, this, &Widget::loginclicked);//退出按钮this->exit_btn = new QPushButton(this);this->exit_btn->resize(this->login_btn->size());this->exit_btn->move(this->login_btn->x()+this->login_btn->width()+10,this->login_btn->y());this->exit_btn->setText("退出");this->exit_btn->setStyleSheet("background-color:skyblue; color:black; border-radius:10px;font-size:20px");//信号与槽连接 QT5版本QObject::connect(this->exit_btn,&QPushButton::clicked, this, &Widget::exitclicked);//标题标签this->title_lab = new QLabel("鹏哥快聊",this);this->title_lab->setStyleSheet("font-size:40px");this->title_lab->resize(400,100);this->title_lab->move(200,50);//用户名标签this->username_lab = new QLabel("用户名:",this);this->username_lab->resize(100,40);this->username_lab->move(this->title_lab->x(),this->title_lab->y()+this->title_lab->height()+10);this->username_lab->setStyleSheet("font-size:20px;");//密码标签this->pwd_lab = new QLabel("密码:",this);this->pwd_lab->resize(this->username_lab->size());this->pwd_lab->move(this->title_lab->x(),this->title_lab->y()+this->username_lab->y()+10);this->pwd_lab->setStyleSheet("font-size:20px;border-radius:10px;");//心跳动图标签this->gif_lab = new QLabel(this);QMovie *heartgif = new QMovie("D:\\Desktop\\heartbeat.gif");this->gif_lab->setMovie(heartgif);this->gif_lab->setScaledContents(true);heartgif->start();this->gif_lab->move(600,400);//用户名行编辑器this->username_lineE = new QLineEdit(this);this->username_lineE->resize(200,40);this->username_lineE->setAlignment(Qt::AlignCenter);this->username_lineE->setPlaceholderText("请输入用户名");this->username_lineE->move(this->username_lab->x()+this->username_lab->width(),this->username_lab->y());this->username_lineE->setStyleSheet("border-radius: 10px;border: 1px solid black;");this->pwd_lineE = new QLineEdit(this);this->pwd_lineE->resize(200,40);this->pwd_lineE->setAlignment(Qt::AlignCenter);this->pwd_lineE->setPlaceholderText("请输入密码");this->pwd_lineE->move(this->pwd_lab->x()+this->pwd_lab->width(),this->pwd_lab->y());this->pwd_lineE->setEchoMode(QLineEdit::Password);this->pwd_lineE->setStyleSheet("border-radius: 10px;border: 1px solid black;");}Widget::~Widget()
{}void Widget::loginclicked()
{if(this->username_lineE->text() == this->pwd_lineE->text()){qDebug() << "登录成功";close();}else{qDebug() << "登录失败";}
}void Widget::exitclicked()
{close();
}
效果图