头文件:
#ifndef MAINLOGIN_H
#define MAINLOGIN_H#include <QMainWindow>
#include<QPushButton>
#include<QLabel>
#include<QLineEdit> //行编辑器
#include<QMessageBox>
class Mainlogin : public QMainWindow
{Q_OBJECT
signals:void my_signal(); //此时就定义了一个信号函数public slots:void btn_slot(); //自定义处理按钮4的槽函数void btn1_slot();
private slots:void showMessage() {QMessageBox::information(this, "Information", "登录失败!");}
public:Mainlogin(QWidget *parent = nullptr);~Mainlogin();public:QPushButton *btn;QPushButton *btn1;QLabel *lab1;QLabel *lab2;QLabel *lab3;QLineEdit *edit;QLineEdit *edit1;
};
#endif // MAINLOGIN_H
源文件:
#include "mainlogin.h"
#include<QPushButton> //按钮类头文件
#include<QLabel>
#include<QLineEdit> //行编辑器
#include<QObject>
#include <QMessageBox>Mainlogin::Mainlogin(QWidget *parent): QMainWindow(parent)
{//构造登录按钮this->btn=new QPushButton;this->resize(1280,960);btn->setParent(this);btn->resize(100,40);btn->setText("登录"); //添加文本btn->move(800,800);//构造取消按钮this->btn1=new QPushButton;this->resize(1280,960);btn1->setParent(this);btn1->resize(100,40);btn1->setText("取消"); //添加文本btn1->move(950,800);//构造账号标签this->lab2=new QLabel(this);lab2->setText("账号:");lab2->resize(50,30);lab2->move(450,550);lab2->setStyleSheet("background-color:pink;");//构造密码标签this->lab3=new QLabel(this);lab3->setText("密码:");lab3->resize(50,30);lab3->move(450,650);lab3->setStyleSheet("background-color:pink;");//构造logo标签this->lab1=new QLabel(this);lab1->setText("LOGO");lab1->resize(1280,480);lab1->setStyleSheet("background-color:pink;");//构造账号输入框this->edit=new QLineEdit;edit->setParent(this);edit->resize(520,40);edit->move(lab2->x()+lab2->width()+50,lab2->y());edit->setAlignment(Qt::AlignCenter);edit->setPlaceholderText("请输入账号");//构造密码输入框this->edit1=new QLineEdit;edit1->setParent(this);edit1->resize(520,40);edit1->move(lab3->x()+lab3->width()+50,lab3->y());edit1->setAlignment(Qt::AlignCenter);edit1->setPlaceholderText("请输入密码");edit1->setEchoMode(QLineEdit::Password);//连接登录QObject::connect(this->btn,&QPushButton::clicked,this,&Mainlogin::btn_slot);//连接取消QObject::connect(this->btn1,&QPushButton::clicked,this,&Mainlogin::btn1_slot);
}Mainlogin::~Mainlogin()
{
}void Mainlogin::btn_slot()
{if(edit->text()==edit1->text()){this->close();//想其他界面发送信号emit my_signal();}else if(edit->text()!=edit1->text()){Mainlogin::showMessage(); //弹窗edit1->clear(); //清空密码}}
void Mainlogin::btn1_slot()
{this->close(); //退出
}
main主程序
#include "mainlogin.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Mainlogin w;w.show();return a.exec();
}