使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数;将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断u界面上输入的账号是否为"admin",密码是否为"123456".如果账号密码匹配成功,则输出"登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QMovie>
#include <QPushButton>
#include <QLineEdit>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();
signals:void my_signal();private slots:void btn2_slot();void btn1_slot();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//设置纯净窗口this->setWindowFlag(Qt::FramelessWindowHint);//设置动态图gifQMovie *mv = new QMovie("C:\\Users\\Lenovo\\Desktop\\putin.gif");ui->lab1->setMovie(mv);mv->start();ui->lab1->setScaledContents(true);//设置按键颜色为蓝色ui->btn1->setStyleSheet("background-color:rgb(7,188,252);border-radius:10px");//设置第一个lab标签的图像ui->open->setIcon(QIcon(":/C:/Users/Lenovo/Desktop/picture/log.png"));ui->lab2->setStyleSheet("border-radius:15px");//设置图像自适应ui->lab2->setScaledContents(true);ui->lab3->setScaledContents(true);ui->lab4->setScaledContents(true);//设置行编辑器为密码模式ui->edit2->setEchoMode(QLineEdit::Password);//=================//qt4版本connect,自定义槽,当按钮btn2按下时,发送信号给自定义槽connect(ui->btn2,SIGNAL(clicked()),this,SLOT(btn2_slot()));//qt5版本connect,自定义槽,当按钮btn1按下时,发送信号给自定义槽connect(ui->btn1,&QPushButton::clicked,this,&MainWindow::btn1_slot);}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::btn2_slot()
{//关闭窗口this->close();
}void MainWindow::btn1_slot()
{//当账户密码匹配时if(ui->edit1->text() == "admin" && ui->edit2->text() == "123456"){//向终端输出:登陆成功qDebug() << "登陆成功";this->close();}else{//向终端输出:登陆失败qDebug() << "登陆失败";//初始化两个行编辑器的文本内容为空ui->edit1->setText("");ui->edit2->setText("");}
}
思维导图