Day2Qt

2024-01-09 21:56:54

1.使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数,将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,则输出"登录成功”,并关闭该界面,如果匹配失败,则输出登录失败,并将密码框中的内容清空。

头文件:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QDebug>
#include <QMovie>
namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;

public slots:
    void cancel_slot();
    void login_slot();
};

#endif // WIDGET_H

源文件:

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    //标签栏
    ui->loglabel->setPixmap(QPixmap(":/pictrue/08.gif"));//log图片
    ui->loglabel->setScaledContents(true);//自动适用标签
    QMovie *mv1 = new QMovie(":/pictrue/08.gif");//将动图加载到程序
    ui->loglabel->setMovie(mv1);//将动图设置到标签中
    mv1->start();//启动动图
    ui->leftlab->setPixmap(QPixmap(":/pictrue/03.gif"));//左侧图片
    ui->leftlab->setScaledContents(true);
    QMovie *mv2 = new QMovie(":/pictrue/03.gif");
    ui->leftlab->setMovie(mv2);
    mv2->start();

    ui->usernamelab->setPixmap(QPixmap(":/pictrue/05.jpg"));//用户栏图标
    ui->usernamelab->setScaledContents(true);//自动适用标签
    ui->passwdlab->setPixmap(QPixmap(":/pictrue/06.jpg"));//密码栏图片
    ui->passwdlab->setScaledContents(true);


    //行编辑
    ui->userlin->setPlaceholderText("UID/手机号");//占位符
    ui->passwdlin->setPlaceholderText("密码");
    ui->passwdlin->setEchoMode(QLineEdit::Password);




    //将取消与自定义关闭函数连接
    connect(ui->cancelpush,SIGNAL(clicked()),this,SLOT(cancel_slot()));//qt4
    connect(ui->loginpus,&QPushButton::clicked,this,&Widget::login_slot);//qt5
}

Widget::~Widget()
{
    delete ui;
}
void Widget::cancel_slot()
{
    this->close();//关闭函数
}

void Widget::login_slot()
{
    if((ui->userlin->text() == "admin")&(ui->passwdlin->text() == "123456"))//判断
    {
        qDebug()<<"登录成功";
    }
    else {
        qDebug()<<"登录失败";
        ui->passwdlin->clear(); //清空密码框中的内容
    }
}

文章来源:https://blog.csdn.net/Aklkimg/article/details/135488498
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。