#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>
#include <QIcon>
#include <QCheckBox>
#include <QLabel>
#include <QLineEdit>
#include <QDebug>
#include <QMessageBox>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
public slots:
void cancel();
void login_judge();
void jump_main();
private:
Ui::Widget *ui;
QPushButton *btn1;
QPushButton *btn2;
QLineEdit *usr;
QLineEdit *passwd;
QLabel *label1;
QLabel *label2;
QLabel *label3;
QCheckBox *checkbox1;
QCheckBox *checkbox2;
signals:
void jump();
};
#endif
#ifndef FORM_H
#define FORM_H
#include <QWidget>
namespace Ui {
class Form;
}
class Form : public QWidget
{
Q_OBJECT
public slots:
void jump_slot();
public:
explicit Form(QWidget *parent = nullptr);
~Form();
private:
Ui::Form *ui;
};
#endif
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
this->setFixedSize(500,400);
this->setWindowTitle("QQ");
btn1 = new QPushButton("登录",this);
btn1->resize(80,30);
btn1->move(140,280);
connect(this->btn1,SIGNAL(clicked()),this,SLOT(login_judge()));
btn2 = new QPushButton("取消", this);
btn2->resize(80,30);
btn2->move(240,280);
connect(this->btn2,SIGNAL(clicked()),this,SLOT(cancel()));
label1 = new QLabel(this);
label1->resize(480,160);
label1->setScaledContents(true);
label1->setPixmap(QPixmap("D:/Qt/day1/backgrd.png"));
usr = new QLineEdit(this);
usr->resize(200, 30);
usr->move(150, 170);
usr->setPlaceholderText("账号");
QString u= usr->text();
passwd = new QLineEdit(this);
passwd->resize(200, 30);
passwd->move(150, 205);
passwd->setEchoMode(QLineEdit::Password);
passwd->setPlaceholderText("密码");
QString m=passwd->text();
checkbox1 = new QCheckBox("自动登录", this);
checkbox1->move(150,245);
checkbox2 = new QCheckBox("记住密码", this);
checkbox2->move(250,245);
}
void Widget::login_judge()
{
QString u=usr->text();
QString m=passwd->text();
if(u == "admin" && m == "123456")
{
int ret=QMessageBox::warning(this,"芜湖","登录成功!",QMessageBox::Ok);
if(ret == QMessageBox::Ok)
{
emit jump();
this->close();
}
}
else
{
int ret=QMessageBox::warning(this,"错误","登录失败!",QMessageBox::Ok|QMessageBox::Cancel);
switch(ret)
{
case QMessageBox::Ok:
passwd->clear();
break;
case QMessageBox::Cancel:
this->close();
break;
}
}
}
void Widget::cancel()
{
int ret=QMessageBox::warning(this,"询问","是否退出",QMessageBox::Yes|QMessageBox::No);
if( ret == QMessageBox::Yes)
{
this->close();
}
}
Widget::~Widget()
{
delete ui;
}
void Widget::jump_main()
{
emit jump();
this->close();
}
#include "form.h"
#include "ui_form.h"
Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);
}
void Form::jump_slot()
{
this->show();
}
Form::~Form()
{
delete ui;
}
#include "widget.h"
#include "form.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
Form f;
QObject::connect(&w,&Widget::jump,&f,&Form::jump_slot);
return a.exec();
}