QT第三天

news2024/11/16 17:46:10

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面如果账号和密码不匹配,弹出错误对话框,给出信息”账号和密码不匹配,是否重新登录“,并提供两个按钮YesINo,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面如果用户点击取消按钮,则弹出一个问题对话框,给出信息”您是否确定要退出登录?“,并给出两钮
YesINo,用户点击Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能要求:基于属性版和基于静态成员函数版至少各用一个

代码如下:

头文件:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QMessageBox> //消息对话框类
#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;
private slots:

    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
};

#endif // WIDGET_H

源文件:

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

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    //将动图加载到程序中来
           QMovie *mv = new QMovie(":/pictrue/R-C.gif");
           //将动图设置到标签中
         ui->label->setMovie(mv);
           //启动动图
           mv->start();
           //将动图自动适应标签大小
         ui->label->setScaledContents(true);
           ui->lineEdit_2->setEchoMode(QLineEdit::Password);
}

Widget::~Widget()
{
    delete ui;
}
//登录按钮
void Widget::on_pushButton_clicked()
{
    if(ui->lineEdit->text()=="admin"&ui->lineEdit_2->text()=="123456")
    {
        //用QMessageBox实例化一个对象:属性版本
            QMessageBox msg(QMessageBox::Information,//图标
                            "登录",//标题
                            "登录成功",//文本
                            QMessageBox::Ok,//提供的按钮
                            this);//指定父组件
            //调用exec()弹出对话框
            int ret = msg.exec();
            if(ret==QMessageBox::Ok)
            {
                qDebug()<<"跳转到其他界面";
                this->close();
            }
    }else
    {
        if(ui->lineEdit->text()!="admin"|ui->lineEdit_2->text()!="123456")
        {   //静态版本
            int ret = QMessageBox::question(this,
                                     "登录",
                                     "账号和密码不匹配,是否重新登录",
                                     QMessageBox::Yes | QMessageBox::No);
            if(ret==QMessageBox::Yes)
            {
                ui->lineEdit_2->clear();
            }else if (ret==QMessageBox::No)
            {
                this->close();
            }
        }
    }

}
//取消按钮
void Widget::on_pushButton_2_clicked()
{
    //用QMessageBox实例化一个对象:属性版本
        QMessageBox msg(QMessageBox::Information,//图标
                        "退出",//标题
                        "您是否确定要退出登录",//文本
                        QMessageBox::Yes|QMessageBox::No,//提供的按钮
                        this);//指定父组件
        //调用exec()弹出对话框
        int ret = msg.exec();
        if(ret==QMessageBox::Yes)
        {
            this->close();
        }else if (ret==QMessageBox::No)
        {
            //不用写其他的,继续执行登录功能
        }
}

效果展示:

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

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

相关文章

内存淘金术:Redis 内存满了怎么办?

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 内存淘金术&#xff1a;Redis 内存满了怎么办&#xff1f; 前言LRU&#xff08;Least Recently Used&#xff09;算法LFU&#xff08;Least Frequently Used&#xff09;算法定期淘汰策略内存淘汰事件…

最新出炉!知乎最牛最全JMeter+Ant+Jenkins接口自动化测试框架(Windows)

一:简介 大致思路&#xff1a;Jmeter可以做接口测试&#xff0c;也能做压力测试&#xff0c;而且是开源软件&#xff1b;Ant是基于Java的构建工具&#xff0c;完成脚本执行并收集结果生成报告&#xff0c;可以跨平台&#xff0c;Jenkins是持续集成工具。将这三者结合起来可以搭…

JNPF低代码是什么,怎么样?

低代码开发平台已经是程序员日常标配效率工具了&#xff0c;曾经我们拿到开发需求后&#xff0c;要先配 Vue & React 等框架环境、再选需要引入的第三方组件库&#xff0c;最后穿针引线&#xff0c;调试搭建起需要的后台工具。这其中无数深坑等着我们去趟&#xff0c;直到低…

【C++进阶05】AVL树的介绍及模拟实现

一、AVL树的概念 二叉搜索树的缺点 二叉搜索树虽可以缩短查找效率 但如果数据有序或接近有序 二叉搜索树将退化为单支树 查找元素相当于在顺序表中搜索元素&#xff0c;效率低下 AVL树便是解决此问题 向二叉搜索树中插入新结点 并保证每个结点的左右子树 高度之差的绝对值不超…

企业邮箱性价比之选:服务、功能与价格的实用指南

企业选择企业邮箱服务商时需要考虑的几个核心指标&#xff1a;稳定性、安全性、容量大小、用户体验以及价格因素。只有在这些方面都有良好表现的邮箱服务商&#xff0c;才能称得上是性价比高的选择。 一、企业邮箱选择参考指标 1、稳定性 稳定性是企业邮箱服务的生命线&#xf…

【Python】编程练习的解密与实战(一)

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《Python | 编程解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 &#x1fa90;1. 初识Python &a…

vue3 组合式 API 在 onMounted 中调用 dom 报错 Initialize failed: invalid dom.

问题 在开发的过程中&#xff0c;项目中需要用到 echarts&#xff0c;引入后在渲染的过程中报错了&#xff1a;Initialize failed: invalid dom. 这个报错表示元素在未渲染完成的情况下就被调用了&#xff0c;作者在以前也遇到过这种情况&#xff0c;在 vue2 中正常来说将 ech…

深入理解 Flink(一)Flink 架构设计原理

大数据分布式计算引擎设计实现剖析 MapReduce MapReduce 执行引擎解析 MapReduce 的组件设计实现图 Spark 执行引擎解析 Spark 相比于 RM 的真正优势的地方在哪里&#xff1a;&#xff08;Simple、Fast、Scalable、Unified&#xff09; DAG 引擎中间计算结果可以进行内存持…

Vue与后端交互、生命周期

一&#xff1a;Axios 1.简介 ① Axios 是一个基于 promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中 ② axios官网&#xff1a;axios中文网|axios API 中文文档 | axios 2.实例 json文件&#xff1a;film.json&#xff08;这里只是一部分&#xff0c;原代码太多…

【Copilot使用】

Copilot是什么 copilot有多火&#xff0c;1月4日&#xff0c;科技巨头微软在官网上宣布将为Windows 11 PC推出Copilot键。 Copilot是微软在Windows 11中加入的AI助手&#xff0c;该AI助手是一个集成了在操作系统中的侧边栏工具&#xff0c;可以帮助用户完成各种任务。 Copilo…

Linux最常用的几个系统管理命令

文章目录 Linux最常用的几个系统管理命令查看网络信息的原初 ifconfig默认无参数使用-s显示短列表配置IP地址修改MTU启动关闭网卡 显示进程状态 ps语法几个实例默认情况显示所有进程查找特定进程信息 任务管理器的 top常规使用显示完整命令设置信息更新次数设置信息更新时间显示…

生成式 AI 如何重塑软件开发流程和开发工具?

生成式AI正在重塑开发流程和开发工具&#xff0c;通过自动化和优化软件开发过程&#xff0c;提高开发效率和质量。它可以帮助开发人员快速生成代码、测试和部署应用程序&#xff0c;同时减少错误和缺陷。此外&#xff0c;生成式AI还可以帮助开发人员快速理解和解决复杂的技术问…

vmware磁盘文件瘦身

一、发现问题 vmware越用越大怎么办&#xff0c;如何减少磁盘空间&#xff1f; 日常工作学习中&#xff0c;我们都会使用VMware来搭建开发环境。 但是随着使用的时间增加&#xff0c;会发现磁盘占用越来越大&#xff0c;导致磁盘空间很快耗光了&#xff0c;这是由于虚拟机在使…

SEO 分步教程:初学者掌握的 8 个简单基础知识

如果您刚刚开始使用搜索引擎优化 &#xff08;SEO&#xff09;&#xff0c;那么分步 SEO 教程是有序的。在这一点上&#xff0c;你可能已经听说过一些基本术语&#xff0c;如关键词研究和页面优化。但是&#xff0c;您如何应用迄今为止收集的所有知识呢&#xff1f; 如果您刚刚…

MS-DETR论文解读

文章目录 前言一、摘要二、引言三、贡献四、MS-DETR模型方法1、模型整体结构解读2、模型改善结构解读3、一对多监督原理 五、实验结果1、实验比较2、论文链接 总结 前言 今天&#xff0c;偶然看到MS-DETR论文&#xff0c;以为又有什么高逼格论文诞生了。于是&#xff0c;我想查…

一文解决新手所有python环境变量报错问题

问题描述: cmd控制台输入python或pip后会出现下面情况 首先确保安装程序时勾选了安装pip pip的所在目录&#xff0c;可以打开该目录查看是否存在 如果还有问题&#xff0c;确保环境变量配置了python的路径 具体操作步骤 此处的用户环境变量是只针对当前系统用户有效&a…

由于找不到x3daudio1_7.dll无法继续执行此代码的多种解决方法大全

在我们运行软件游戏的时候&#xff0c;偶尔会出现无法运行的报错&#xff0c;其中之一就是“找不到x3daudio1_7.dll”的错误。x3daudio1_7.dll是Windows操作系统中的一个重要动态链接库文件&#xff0c;主要负责音频设备的3D音效功能。电脑“找不到x3daudio1_7.dll”可能会导致…

2024年AIGC趋势展望:视频生成的“百模大战”

2023年底发布的svd(stabilityai/stable-video-diffusion-img2vid Hugging Face)、EMU(https://ai.meta.com/blog/emu-text-to-video-generation-image-editing-research/)、i2vgen-xl(GitHub - ali-vilab/i2vgen-xl: Official repo for VGen: a holistic video generation eco…

Python教程38:使用turtle画动态粒子爱心+文字爱心

Turtle库是Python语言中的一个标准库&#xff0c;它提供了一种有趣的方式来介绍编程和图形绘制的基本概念。Turtle库使用一个虚拟的“海龟”来绘制图形。你可以控制海龟的方向、速度和位置&#xff0c;通过向前移动、向左转或向右转等命令来绘制线条、圆弧多边形等图形。 -----…

导波光学理论基础

导波光学理论基础 一、电磁场基本方程 1.1 麦克斯韦方程组、物质方程、边值关系 麦克斯韦方程组 麦克斯韦方程组是一组微分方程&#xff0c;只能求得通解 如果需要唯一的确定各场矢量&#xff0c;还需补充一些边界条件 线性、静止、各向同性介质的物质方程 D ⃗ ε E ⃗ …