Day3Qt

1.

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

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

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

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

头文件logs.h

#ifndef LOGS_H
#define LOGS_H#include <QWidget>
#include <QMovie>
namespace Ui {
class LOGS;
}class LOGS : public QWidget
{Q_OBJECTpublic:explicit LOGS(QWidget *parent = nullptr);~LOGS();private:Ui::LOGS *ui;
public slots:void Logsuccess();//自定义槽函数
};#endif // LOGS_H

头文件Widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QObject>
#include <QMessageBox>//消息对话框类
namespace Ui {
class Widget;
}class Widget : public QWidget
{Q_OBJECTpublic:explicit Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;
public slots:void on_login_slots();void on_cancel_slots();
signals:void my_jump();
};#endif // WIDGET_H

源文件logs.cpp

#include "logs.h"
#include "ui_logs.h"LOGS::LOGS(QWidget *parent) :QWidget(parent),ui(new Ui::LOGS)
{ui->setupUi(this);QMovie *mv = new QMovie(":/pictrue/01.gif");ui->label->setMovie(mv);mv->start();
}LOGS::~LOGS()
{delete ui;
}
//自定义槽函数的处理
void LOGS::Logsuccess()
{this->show();//显示自己的界面
}

源文件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);//QT中窗口部件背景透明化this->setWindowIcon(QIcon(":/pictrue/1.jpg"));//设置图标connect(ui->cancelpus,SIGNAL(clicked()),this,SLOT(on_cancel_slots()));//qt4 不友好connect(ui->Loginpus,&QPushButton::clicked,this,&Widget::on_login_slots);//qt5
}Widget::~Widget()
{delete ui;
}
//登录键按下槽函数的处理
void Widget::on_login_slots()
{if((ui->loglineEdit->text()=="Mikasa")&(ui->pwdlineEdit->text()=="123456"))//对输入的UID与密码进行判断{this->close();//关闭当前emit this->my_jump();//用关键字 emit 手动触发信号}else {//基于属性版本QMessageBox logerror(QMessageBox::Critical,"登录失败",//标题"账号和密码不匹配,是否重新登录",//提示文本QMessageBox::Yes | QMessageBox::No,//提供的按钮this);int res = logerror.exec();if(res == QMessageBox::Yes)//判断用户按下的键{ui->pwdlineEdit->clear();//清空密码栏}else if (res == QMessageBox::No){this->close();//关闭程序}}
}
//取消键按下槽函数的处理
void Widget::on_cancel_slots()
{//静态成员函数int res = QMessageBox::question(this,"退出","是否确定退出登录",QMessageBox::Yes|QMessageBox::No);if(res == QMessageBox::Yes)//判断按下的键{this->close();}else if(res == QMessageBox::No){}
}

main.cpp

#include "widget.h"
#include <QApplication>
#include "logs.h"
int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();LOGS L;//实例化第二个界面QObject::connect(&w,&Widget::my_jump,&L,&LOGS::Logsuccess);//将两个界面进行连接return a.exec();
}

效果图

登录成功跳转界面:

思维导图

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大语言模型算法工程师面试实战指南

大语言模型算法工程师面试实战指南 一级标题需要算法模拟面试的私信我或者加微信

PyCharm 设置新建Python文件时自动在文章开头添加固定注释的方法

在实际项目开发时&#xff0c;为了让编写的每个代码文件易读、易于维护或方便协同开发时&#xff0c;我们都会在每一个代码文件的开头做一些注释&#xff0c;如作者&#xff0c;文档编写时间&#xff0c;文档的功能说明等。 利用PyCharm 编辑器&#xff0c;我们只需设置相关设…

Java中多线程二

抢占调度模型 概述&#xff1a;优先让优先级高的线程使用 CPU &#xff0c;如果线程的优先级相同&#xff0c;那么随机会选择一个&#xff0c;优先级高的线程获取的 CPU 时间片相对多一些 Thread 类中一些关于线程的方法 方法简述public final int getPriority()返回此线程的优…

夏目友人帐OVA:和猫咪老师的初次跑腿、曾几何时下雪之日 2013.12.15

夏目友人帐OVA 1、和猫咪老师的初次跑腿 / ニャンコ先生とはじめてのおつかい2、曾几何时下雪之日 / いつかゆきのひに 1、和猫咪老师的初次跑腿 / ニャンコ先生とはじめてのおつかい 和夏目一起外出的途中&#xff0c;猫咪老师因追蜻蜓遇到了一对迷路的龙凤胎兄妹。猫咪老师不…

软件测试----测试管理方法论

1、缺陷 &#xff08;1&#xff09;缺陷的主要变现&#xff1a; 1&#xff09;需求要求的功能没有实现 2&#xff09;实现了需求没有要求的功能 3&#xff09;软件中出现了明确指明不应该出现的错误 4&#xff09;需求虽未明确说明&#xff0c;但是应该实现的功能没有实现 5&…

Python冒号的解释

1. “没什么首次没有为第二个&#xff0c;跳了三个”。它得到的切片序列的每一个第三个项目。 扩展片是你想要的。新在Python 2.3 2. Python的序列切片地址可以写成[开始&#xff1a;结束&#xff1a;一步]和任何启动&#xff0c;停止或结束可以被丢弃。a[::3]是每第三个序列。…

用友U8流程审批效率-SQLServer+SSRS

文章目录 @[TOC]1、 需求及效果1.1 需求1.2 效果2、 思路及SQL语句3、实现折叠明细表4、结语1、 需求及效果 1.1 需求 想要查看U8的审批流程,查看流程在哪个节点或人停留的时间,这个单据整个流程走下来需要的时间。可以更加直观方便的查看审批效率 1.2 效果 采用了SSRS上…

JDBC初体验(一)

本课目标 理解JDBC的概念和工作原理 掌握JDBC的开发步骤 掌握 Connection 接口的使用 掌握Statement 接口的使用 掌握 ResultSet 接口的使用 一、JDBC 1.JDBC概述 JDBC&#xff08;Java DataBase Connectivity&#xff09;是Java数据库连接技术的简称&#xff0c;提供连…

Python实现PDF—>Excel的自动批量转换(附完整代码)

Python实现PDF—>Excel的自动批量转换&#xff08;附完整代码&#xff09; 话不多说&#xff0c;先看效果&#xff01; 需要转换的PDF&#xff1a; 转换后的Excel&#xff1a; 01、底层原理 PDF 到 Excel 的转换涉及不同文件格式之间的数据提取和重构。底层原理可以简…

手撕单链表(单向,不循环,不带头结点)的基本操作

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

【详解:两数之和三数之和四数之和】

本文讲解两数之和&#xff0c;三数之和和四数之和这三道经典双指针类型题。会在详解题目的同时给出AC代码【这三个题目从前往后是循序渐进的&#xff0c;非常巧妙】 目录 1、查找总价格为目标值的两个商品 2、三数之和 3、力扣18. 四数之和 1、查找总价格为目标值的两个商品…

SCS模型(径流曲线法)概述

目录 1.介绍&#xff1a;2.计算公式&#xff1a;参考文献&#xff1a;小结&#xff1a; 1.介绍&#xff1a; SCS模型&#xff08;径流曲线法&#xff09;是由美国农业部水土保持局(Soil Conservation Service) 基于经验提出&#xff0c;最初用于预测在农业用地小型流域降雨所累…