5.16home

将登录框的两个按钮进行实现,

登录按钮需要手动连接自定义的槽函数,取消按钮右键转到槽

对于登录按钮对应的槽函数中实现:判断输入的账号是否等于"admin",密码是否为“123456”,如果匹配成功,则输出登录成功后关闭界面

如果匹配失败,输出账号和密码不匹配,请重新输入,并将密码框内容清空

对于取消按钮,在对应的槽函数中,关闭整个界面即可

mylogin.h

#ifndef MYLOGIN_H
#define MYLOGIN_H

#include <QMainWindow>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class MyLogin; }
QT_END_NAMESPACE

class MyLogin : public QMainWindow
{
    Q_OBJECT

signals:
    void my_signal();

private slots:
    void my_slot();

    void on_btn2_clicked();

public:
    MyLogin(QWidget *parent = nullptr);
    ~MyLogin();

private:
    Ui::MyLogin *ui;
};
#endif // MYLOGIN_H

mylogin.cpp

#include "mylogin.h"
#include "ui_mylogin.h"

MyLogin::MyLogin(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MyLogin)
{
    ui->setupUi(this);
    //给组件设置文本内容
    this->setFixedSize(650,450);
    //给组件设置文本内容
    this->setWindowTitle("myQQ");
    //给组件设置文本内容
    this->setWindowIcon(QIcon("F:\\C23031project\\216test2\\icon\\QQ.png"));

    ui->label1->move(0,0); //设置位置
    ui->label1->resize(650,300);   //重新设置大小
    ui->label1->setScaledContents(true);       //设置内容自适应大小
    ui->label1->setPixmap(QPixmap("F:\\C23031project\\216test2\\icon\\logo.png"));

    ui->UserNamelabel->move(120,240); //设置位置
    ui->UserNamelabel->resize(20,20); //设置大小
    ui->UserNamelabel->setScaledContents(true);       //设置内容自适应大小
    ui->UserNamelabel->setPixmap(QPixmap("F:\\C23031project\\216test2\\icon\\zhanghao.png"));

    ui->Pwdlabel->move(120,270); //设置位置
    ui->Pwdlabel->resize(20,20); //设置大小
    ui->Pwdlabel->setScaledContents(true);       //设置内容自适应大小
    ui->Pwdlabel->setPixmap(QPixmap("F:\\C23031project\\216test2\\icon\\denglumima.png"));

    //设置行编辑器占位符
    ui->UserNamelineEdit->setPlaceholderText("账号"); //设置占位符
    ui->UserNamelineEdit->resize(300,20); //设置大小
    ui->UserNamelineEdit->move(150, 240); //设置位置
    ui->PwdlineEdit->setPlaceholderText("密码"); //设置占位符
    ui->PwdlineEdit->resize(300,20); //设置大小
    ui->PwdlineEdit->move(150, 270); //设置位置
    ui->PwdlineEdit->setEchoMode(QLineEdit::Password);    //设置成密文模式

    //给组件设置文本内容
    ui->btn1->setText("登录");
    ui->btn2->setText("取消");
    //给组件设置文本内容
    ui->btn1->move(450,380);
    ui->btn2->move(550,380);
    //给组件设置文本内容
    ui->btn1->setIcon(QIcon("F:\\C23031project\\216test2\\icon\\denglu.png"));
    ui->btn2->setIcon(QIcon("F:\\C23031project\\216test2\\icon\\quxiao.png"));

    connect(ui->btn1, SIGNAL(clicked()), this, SLOT(my_slot()));


}

MyLogin::~MyLogin()
{
    delete ui;
}

void MyLogin::my_slot()
{
    if(ui->UserNamelineEdit->text() == QString("admin")
            && ui->PwdlineEdit->text() == QString("123456"))
    {
        qDebug()<<"登陆成功";
        close();
        return;
    }

    qDebug()<<"账号密码不匹配,请重新输入!";
    ui->PwdlineEdit->clear();
}








void MyLogin::on_btn2_clicked()
{
    close();
}

main.cpp

#include "mylogin.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MyLogin w;
    w.show();
    return a.exec();
}

将系统给定的工程文件相关代码全部进行注释

main.cpp

#include "widget.h"  //引入自定义头文件

#include <QApplication>   //引入应用程序的头文件

int main(int argc, char *argv[])   //主函数
{
    QApplication a(argc, argv);    //实例化应用程序的对象
    Widget w;      //实例化自定义对象
    w.show();    //调用show方法
    return a.exec();   //阻塞等待界面处理
}

widget.cpp

#include "widget.h"    //自定义的头文件
#include "ui_widget.h"  // 包含ui的头文件

Widget::Widget(QWidget *parent)   //构造函数
    : QWidget(parent)            //调用父类构造函数
    , ui(new Ui::Widget)       //指针成员初始化
{
    ui->setupUi(this);       //调用ui界面中的设置界面函数
}

Widget::~Widget()   //析构函数
{
    delete ui;    //释放指针成员空间
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值