使用手動連接,將登錄框中的取消按鈕使用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("");}
}
思維導圖