QT_day4:对话框

news2024/11/18 12:25:10

1、完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面

如果账号和密码不匹配,弹出错误对话框,给出信息”账号和密码不匹配,是否重新登录“,并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面

如果用户点击取消按钮,则弹出一个问题对话框,给出信息”您是否确定要退出登录?“,并给出两个按钮Yes|No,用户迪纳基Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能

要求:基于属性版和基于静态成员函数版至少各用一个

程序代码:

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->setWindowTitle("天马系统");//窗口名
    this->setWindowIcon(QIcon(":/my_pictrue/kk.jpg"));


    ui->AboveName->setPixmap(QPixmap(":/my_pictrue/zz.jpg"));//账号前图标
    ui->AboveName->setScaledContents(true);//自适应

    ui->AbovePasswd->setPixmap(QPixmap(":/my_pictrue/yy.jpg"));//密码前图标
    ui->AbovePasswd->setScaledContents(true);//自适应

    QMovie *mv = new QMovie(":/my_pictrue/bb.gif");//Log动态图标
    mv->start();//动图
    ui->Loglab->setMovie(mv);
    ui->Loglab->setScaledContents(true);//自适应

    ui->NameEdit->setPlaceholderText("QQ/手机");
    ui->PasswdEdit->setPlaceholderText("密码");
    ui->PasswdEdit->setEchoMode(QLineEdit::Password);

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


//基于属性版本实现消息对话框
void Widget::on_LogBtn_clicked()
{
    if(QString(ui->NameEdit->text())=="admin")
    {
        if(QString(ui->PasswdEdit->text())=="123456")
        {
            int ret = QMessageBox::information(this,"提示","登录成功",QMessageBox::Ok);
            if(ret == QMessageBox::Ok)
            {
                close();
                emit jump_signal();
            }
        }
        else
        {
            int ret = QMessageBox::warning(this,"错误","账号和密码不匹配,是否重新登录",QMessageBox::Yes|QMessageBox::No);
            if(ret == QMessageBox::Yes)//点Yes
            {
                 ui->PasswdEdit->clear();//清空密码框内容
            }
            else//点No
            {
                close();
                QMessageBox question(QMessageBox::Question,"问题","您是否确定要退出登录?",QMessageBox::Yes|QMessageBox::No,this);
                int ret = question.exec();
                if(ret == QMessageBox::No)
                {
                    ui->PasswdEdit->clear();//清空密码框内容
                    this->show();
                }
            }
        }
    }
    else
    {
        int ret = QMessageBox::warning(this,"错误","账号和密码不匹配,是否重新登录",QMessageBox::Yes|QMessageBox::No);
        if(ret == QMessageBox::Yes)//点Yes
        {
             ui->PasswdEdit->clear();//清空密码框内容
        }
        else//点No
        {
            close();
            QMessageBox question(QMessageBox::Question,"问题","您是否确定要退出登录?",QMessageBox::Yes|QMessageBox::No,this);
            int ret = question.exec();
            if(ret == QMessageBox::No)
            {
                ui->PasswdEdit->clear();//清空密码框内容
                this->show();
            }
        }
    }
}


运行结果:

1、思维导图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1548129.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索未知的精彩——揭秘你不知道的10个Excel操作技巧

Excel,这个广受欢迎的电子表格软件,在办公、数据处理和统计分析等领域发挥着重要作用。然而,除了常见的基础功能外,Excel还拥有许多隐藏的操作技巧,可以让您更高效地处理数据、优化工作流程。在本文中,我们…

【c++】类和对象(四)深入了解拷贝构造函数

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好啊,本篇内容带大家深入了解拷贝构造函数 目录 1.拷贝构造函数1.1传值调用的无限调用1.2浅拷贝1.3深拷贝1.4深拷贝的实现 1.拷贝构造函数 拷贝构造函数是一种特殊的…

解决华为云服务器宝塔面板无法访问显示“此站点的连接不安全”问题

已经配置好安全组以及初始化宝塔面板,还是无法访问镜像管理页面,提示此站点的连接不安全。 解决方案 将地址https改为http即可进入。 成功登录后,开启面板SSL即可。

武汉星起航:亚马逊卖家运营新指南,爆款品类揭秘

随着全球电商市场的蓬勃发展,亚马逊作为领先的在线零售平台,为卖家提供了无限的商机。然而,在浩如烟海的商品中,如何选择低风险、高回报的产品,成为每个亚马逊卖家关注的焦点。近日,武汉星起航凭借其深厚的…

Redis 教程系列之Redis PHP 使用 Redis(十二)

PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/phpredis/phpredis/releases。 P…

index.js:235 uView提示:maxDate不能小于当前时间

组件不合理的提示。我就是不想让他maxDate选择未来时间。 需求&#xff1a;用uview的calendar做一个时间段的选择&#xff0c;当设置maxDate为今天&#xff0c;遇到这个无理的提示。 1、找到calendar组件源码提示位置 2、注释掉这段代码 3、看效果 我的代码 <template>…

【线段树二分】第十三届蓝桥杯省赛C++ A组/研究生组 Python 研究生组《扫描游戏》(C++)

【题目描述】 有一根围绕原点 O 顺时针旋转的棒 OA&#xff0c;初始时指向正上方&#xff08;Y 轴正向&#xff09;。 在平面中有若干物件&#xff0c;第 i 个物件的坐标为&#xff08;,)&#xff0c;价值为 。 当棒扫到某个物件时&#xff0c;棒的长度会瞬间增长 &#xff…

FreeRTOS的介绍

FreeRTOS介绍 本文主要涉及RTOS的相关内容 1.RTOS与裸机的区别 2.RTOS的架构与特点 3.任务调度 4.任务状态 文章目录 FreeRTOS介绍一、RTOS与裸机的区别二、FreeRTOS 简介2.1 特点2.2 架构2.3 应用领域总结 三、 任务调度3.1 基本原理3.2 调度策略3.3 实现方式 四、 任务状态 一…

spring cloud 限流熔断配置

springcloud 微服务网关 zuul.strip-prefixtrue zuul.routes.postgres-client.path /ps01/** zuul.routes.postgres-client.service-idpostgres-client zuul.routes.postgres-client02.path/ps02/** zuul.routes.postgres-client02.service-idpostgres-client02 zuul.semaphor…

主流公链 - BSC

探索Binance Smart Chain (BSC) 区块链&#xff1a;实现高性能的智能合约平台 1. BSC 简介 Binance Smart Chain (BSC)是由全球领先的加密货币交易平台币安&#xff08;Binance&#xff09;推出的智能合约平台。它旨在为开发者提供高性能、低成本的区块链基础设施&#xff0c;…

助力福建新型职业农民培育 北方天途推进无人机植保应用培训

为加强新型职业农民的职业培育&#xff0c;扩展新型农民的知识范围和专业技术水平&#xff0c;推进农业供给侧结构性改革。日前&#xff0c;在农业部门的大力支持下&#xff0c;北方天途航空和宁德天禾科技服务携手为福建省农民朋友开展了植保无人机驾驶员的应用培训。福建省农…

数据分析面试题(41~50)

41、lstm的原理、lstm和rnn的区别 ①LSTM是一种常用于处理序列数据的循环神经网络&#xff08;RNN&#xff09;架构&#xff0c;特别适用于长序列的建模。其主要特点是通过门控机制来控制信息的流动&#xff0c;从而有效地解决了传统RNN在处理长序列时的梯度消失或爆炸的问题。…

【Java程序设计】【C00374】基于(JavaWeb)Springboot的社区疫情管理系统(有论文)

TOC 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击卡片…

【数据分享】1929-2023年全球站点的逐日平均压力(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全球气象站…

【gitee】设置忽略文件.gitignore的方法

已经提交在 gitee 上的文件&#xff0c;再设置忽略文件.gitignore&#xff0c;怎么成立 忽略已经提交的文件&#xff0c;可以使用以下命令将这些文件从Git中移除&#xff08;但是保留在本地文件系统中&#xff09;&#xff1a; git rm --cached <file_name>//例&#x…

揭秘YouTube视频世界:利用Python和Beautiful Soup的独特技术

介绍 YouTube作为全球最大的视频分享平台&#xff0c;每天有数以亿计的视频被上传和观看。对于数据分析师、市场营销人员和内容创作者来说&#xff0c;能够获取YouTube视频的相关数据&#xff08;如标题、观看次数、喜欢和不喜欢的数量等&#xff09;是非常有价值的。本文将介…

iOS - Runtime - Class的结构

文章目录 iOS - Runtime - Class的结构前言1. Class的结构1.1 Class的结构1.1.1 objc_class1.1.2 class_rw_t1.1.3 class_ro_t 1.2 class_rw_t和class_ro_t的区别1.3 class_rw_t和class_ro_t的关系1.3.1 分析关系1.3.2 原因 1.4 method_t1.4.1 Type Encoding1.4.2 types iOS - …

双亲委派机制总结

回顾了一下双亲委派机制&#xff0c;在这记录记录&#xff0c;下一篇会基于打破双亲委派机制来更新 1. 类加载&#xff1a; 多个java文件经过编译打包后生成可运行jar包&#xff0c;最后启动程序。首先需要通过类加载器把主类加载到JVM。主类在运行过程中如果使用到其他类&a…

Spring Boot 整合分布式搜索引擎 Elastic Search 实现 自动补全功能

文章目录 ⛄引言一、分词器⛅拼音分词器⚡自定义分词器 二、自动补全查询三、自动补全⌚业务需求⏰实现酒店搜索自动补全 四、效果图⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;…

华为云服务器租用价格_云服务器优惠活动_2024年新版报价

2024年华为云服务器租用价格表&#xff0c;云服务器优惠价格35元一年&#xff0c;配置为1核2G1M带宽HECS云服务器、L实例-2核2G3M配置46元1年、4核16G10M华为云服务器24元一个月、2核4G5M服务器158元一年&#xff0c;3年1010元、华为云香港服务器99元一年、增强型C7云服务器4核…