QT编写简单登录界面的实现示例

 更新时间:2024年02月11日 09:44:40   作者:​​​​​​​ 傻猪猪一枚  
登陆界面是网页中常见的界面,本文主要介绍了QT编写简单登录界面的实现示例,具有一定的参考价值,感兴趣的可以了解一下

main.cpp

#include "widget.h"
#include "login.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;


    Login l;
    QObject::connect(&w,&Widget::log_btn,&l,&Login::lobin);
    w.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);
    this->setWindowFlag(Qt::FramelessWindowHint);
    this->setAttribute(Qt::WA_TranslucentBackground);
    this->setWindowIcon(QIcon("C:\\Users\\13103321519\\Desktop\\pictrue\\pictrue\\qq.png"));
    this->setWindowTitle("QQ");
    //connect(ui->logButton,&QPushButton::clicked,this,&Widget::log_btn);

}

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

void Widget::on_logButton_clicked()
{
    if(ui->nameEdit->text() == "admin" && ui->passEdit->text() == "123456")
    {
        QMessageBox msg(QMessageBox::Information,"登陆成功","登陆成功",QMessageBox::Yes,this);
        int ret = msg.exec();
        if(ret == QMessageBox::Yes)
        {
            emit this->log_btn();
            this->close();
        }
    }
    else {
            emit this->Log_yes();
    }
}

void Widget::Log_yes()
{
    QMessageBox msge(QMessageBox::Critical,
                    "错误","账号密码不匹配,是否重新登陆",
                    QMessageBox::Yes | QMessageBox::No,
                    this);
    int ret = msge.exec();
    if(ret == QMessageBox::Yes)
    {
        ui->passEdit->clear();
    }
    else {
        this->close();
    }
}

void Widget::on_canButton_clicked()
{
    int ret = QMessageBox::question(this,
                                    "是否退出",
                                    "您是否确定要退出登陆?",
                                    QMessageBox::Yes | QMessageBox::No);
    if(ret == QMessageBox::Yes)
    {
        this->close();
    }
}
void Widget::mousePressEvent(QMouseEvent *event)
{
    if(event->button() == Qt::LeftButton)
    {
        point = event->pos();
    }
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
    this->move(event->globalPos()-point);
}

login.cpp

#include "login.h"
#include "ui_login.h"

Login::Login(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Login)
{
    ui->setupUi(this);
}

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

void Login::lobin()
{
    this->show();
}

ui界面图

效果图:

到此这篇关于QT编写简单登录界面的实现示例的文章就介绍到这了,更多相关QT 登录界面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++ Template应用详解

    C++ Template应用详解

    本篇文章主要介绍了C++ Template应用详解,模板(Template)指C++程序设计设计语言中采用类型作为参数的程序设计,支持通用程序设计。
    2016-12-12
  • C++最短路径Dijkstra算法的分析与具体实现详解

    C++最短路径Dijkstra算法的分析与具体实现详解

    经典的求解最短路径算法有这么几种:广度优先算法、Dijkstra算法、Floyd算法。本文是对 Dijkstra算法的总结,该算法适用于带权有向图,可求出起始顶点到其他任意顶点的最小代价以及对应路径,希望对大家有所帮助
    2023-03-03
  • C++实现两个有序数组的合并

    C++实现两个有序数组的合并

    这篇文章主要为大家详细介绍了C++实现两个有序数组的合并,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • C语言动态规划多种背包问题分析讲解

    C语言动态规划多种背包问题分析讲解

    背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高
    2022-04-04
  • C++使用递归函数和栈操作逆序一个栈的算法示例

    C++使用递归函数和栈操作逆序一个栈的算法示例

    这篇文章主要介绍了C++使用递归函数和栈操作逆序一个栈的算法,结合实例形式分析了C++递归函数与逆序栈的相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • Qt多线程实现网络发送文件功能

    Qt多线程实现网络发送文件功能

    这篇文章主要为大家详细介绍了Qt多线程实现网络发送文件功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 关于C语言中E-R图的详解

    关于C语言中E-R图的详解

    今天小编就为大家分享一篇关于关于C语言中E-R图的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C++程序代码优化的方法实例大全

    C++程序代码优化的方法实例大全

    优化是一个非常大的主题,本文并不是去深入探讨性能分析理论,算法的效率,这篇文章主要给大家介绍了关于C++代码优化的相关资料,需要的朋友可以参考下
    2022-03-03
  • C语言数据结构之双向循环链表的实例

    C语言数据结构之双向循环链表的实例

    这篇文章主要介绍了C语言数据结构之双向循环链表的实例的相关资料,需要的朋友可以参考下
    2017-06-06
  • C++中4种强制类型转换的区别详析

    C++中4种强制类型转换的区别详析

    这篇文章主要给大家介绍了关于C++中4种强制类型转换区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论