用qt实现一个登陆界面的创建

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QIcon>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT    //处理信号与槽的源组件

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

private slots:  //声明槽函数

    void pushBut1_clicked();     //自定义对按钮1的槽函数

    void on_pushBut2_clicked();   //系统声明的对于按钮2的槽函数

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

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"

Widget::Widget(QWidget *parent)      //构造函数的实现
    : QWidget(parent)            //调用父类的构造函数
    , ui(new Ui::Widget)         //给指针成员初始化空间
{ 
    ui->setupUi(this);     //调用ui界面的设置界面函数
    
    //设置固定尺寸
    this->setFixedSize(600,400);
    
    //设置窗口标题
    this->setWindowTitle("myQQ");
    
    //设置窗口图标
    this->setWindowIcon(QIcon(":/icon/QQ.png"));
    this->setStyleSheet("border: none;");
    
    
    //设置logo
    ui->lab4->setScaledContents(true);
    ui->lab4->setPixmap(QPixmap(":/icon/logo.png"));
    
    //设置用户名图标
    ui->lab2->setScaledContents(true);
    ui->lab2->setPixmap(QPixmap(":/icon/zhanghao.png"));
    
    //设置密码图标
    ui->lab3->setScaledContents(true);
    ui->lab3->setPixmap(QPixmap(":/icon/denglumima.png"));
    
    //将密码框设置为密文模式
    ui->lineEdit2->setEchoMode(QLineEdit::Password);
    
    //消除边框
    ui->lineEdit->setStyleSheet("border: none;");
    ui->lineEdit2->setStyleSheet("border: none;");
    
    //设置占位符
    ui->lineEdit->setPlaceholderText("QQ号码/手机/邮箱");
    ui->lineEdit2->setPlaceholderText("密码");
    
    
    //将按钮1的clicked信号手动与自定义的信号连接
    connect(ui->pushBut,SIGNAL(clicked()),this,SLOT(pushBut1_clicked()));
    //将按钮1发射的信号与当前界面自定义的槽函数进行连接
    //参数1:信号的发射者
    //参数2:发射的信号
    //参数3:信号的接收者,当前界面
    //参数4,接收后处理的槽函数
}

Widget::~Widget()      //析构函数的定义
{
    delete ui;        //将类中指针成员空间释放
}

void Widget::pushBut1_clicked()
{
    if(ui->lineEdit->text()=="admin" && ui->lineEdit2->text()=="123456" )
    {
        qDebug()<<"登陆成功";
        close();
    }
    else
    {
        qDebug()<<"账号和密码不匹配,请重新输入";
        ui->lineEdit2->clear();
    }
}

//按钮2对应的槽函数
void Widget::on_pushBut2_clicked()
{
    close();
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值