第一个界面的头文件
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QMovie>
#include <QMessageBox>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();
signals:void my_jump();
private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H
第一个界面的源文件
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QMovie *mv =new QMovie(":/1/4.gif");ui->label_3->setMovie(mv);mv->start();ui->label_3->setScaledContents(true);this->setWindowFlag(Qt::FramelessWindowHint);this->setAttribute(Qt::WA_TranslucentBackground);
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{if(ui->lineEdit->text()=="accelerator" && ui->lineEdit_2->text()=="123456"){QMessageBox msg(QMessageBox::Question,"","登录成功",QMessageBox::Ok,this);msg.exec();emit my_jump();this->close();}else{int ret = QMessageBox::critical(this,"错误","账号和密码不匹配,是否重新登录?",QMessageBox::Yes | QMessageBox::No);if(ret==QMessageBox::Yes){ui->lineEdit_2->clear();}else{this->close();}}
}void Widget::on_pushButton_2_clicked()
{int ret = QMessageBox::question(this,"","您是否确定要退出登录");if(ret== QMessageBox::Yes){this->close();}
}
第二个界面的头文件
#ifndef SECOND_H
#define SECOND_H#include <QWidget>namespace Ui {
class second;
}class second : public QWidget
{Q_OBJECTpublic:explicit second(QWidget *parent = nullptr);~second();
public slots:void my_slots();
private:Ui::second *ui;
};#endif // SECOND_H
第二个界面的源文件
#include "second.h"
#include "ui_second.h"second::second(QWidget *parent) :QWidget(parent),ui(new Ui::second)
{ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);this->setAttribute(Qt::WA_TranslucentBackground);
}second::~second()
{delete ui;
}void second::my_slots()
{this->show();
}
主函数文件
#include "widget.h"
#include "second.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();second s;QObject::connect(&w,&Widget::my_jump,&s,&second::my_slots);return a.exec();
}
成功登录
失败
关闭