作业:使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数。
将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出“登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空
头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDebug>
#include <QString>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
public slots:
void cancel_slot();
void login_slot();
};
#endif // MAINWINDOW_H
构造函数
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->logolabel->setPixmap(QPixmap(":/pictrue/logo.png"));
ui->logolabel->setScaledContents(true);
ui->usernamelabel->setPixmap(QPixmap(":/pictrue/userName.jpg"));
ui->usernamelabel->setScaledContents(true);
ui->pasworldlabel->setPixmap(QPixmap(":/pictrue/passwd.jpg"));
ui->pasworldlabel->setScaledContents(true);
ui->paswordedit->setPlaceholderText("密码");
ui->usernameedit->setPlaceholderText("账号");
ui->paswordedit->setEchoMode(QLineEdit::Password);
//取消按键的信号和槽的连接qt4
connect(ui->cancelbtn,SIGNAL(clicked()),this,SLOT(cancel_slot()));
//登录按键的信号和槽的连接qt5
connect(ui->loginbtn,&QPushButton::clicked,this,&MainWindow::login_slot);
}
MainWindow::~MainWindow()
{
delete ui;
}
//取消按钮关闭窗口
void MainWindow::cancel_slot()
{
this->close();
}
void MainWindow::login_slot()
{
//获取行编辑器的文本进行比较
if(ui->usernameedit->text()=="admin"&&ui->paswordedit->text()=="123456")
{
qDebug() << "登录成功";
this->close();
}
else
{
qDebug() << "登录失败";
ui->paswordedit->setText("");
}
}
ui界面
运行后