12月11日作业

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

second.h

#ifndef SECOND_H
#define SECOND_H#include <QWidget>namespace Ui {
class second;
}class second : public QWidget
{Q_OBJECTpublic:explicit second(QWidget *parent = nullptr);~second();
public:void my_slot();private:Ui::second *ui;
};#endif // SECOND_H

Widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();
signals:void my_signal();private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

main.cpp

#include "widget.h"
#include "second.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();second s;//连接自定义信号与槽QObject::connect(&w,&Widget::my_signal,&s,&second::my_slot);return a.exec();
}

second.cpp

#include "second.h"
#include "ui_second.h"second::second(QWidget *parent) :QWidget(parent),ui(new Ui::second)
{ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);//设置纯净窗口this->setAttribute(Qt::WA_TranslucentBackground);//将窗口其他部分不显示
}second::~second()
{delete ui;
}void second::my_slot()
{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);  //将窗口其他部分不显示this->setWindowIcon(QIcon(":/Logo/qq.jpg"));  //设置软件图标
}Widget::~Widget()
{delete ui;
}void Widget::on_pushButton_clicked()
{//当账号行编辑器内容和密码行编辑器内容都匹配时,登陆成功,否则失败if(ui->lineEdit->text() == "114514" && ui->lineEdit_2->text() == "1919810"){//基于属性版对话框,信息对话框,只显示Ok按钮QMessageBox msg(QMessageBox::Information,"登录","登录成功",QMessageBox::Ok,this);int ret = msg.exec();  //exec弹出对话框if(ret == QMessageBox::Ok){emit my_signal();   //发出自定义信号this->close();      //关闭窗口}}else{//基于静态成员函数版对话框,生成两个按钮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()
{//基于静态成员函数版对话框,生成两个按钮int ret = QMessageBox::question(this,"退出","您是否确认要退出登录?",QMessageBox::Yes | QMessageBox::No);if(ret == QMessageBox::Yes){this->close();  //关闭窗口}
}

请添加图片描述
思维导图
在这里插入图片描述

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

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

相关文章

Python3 中常见的数据类型

目录 数字(Number)总结 字符串(String)字符串运算符字符串格式化字符串的截取总结 List&#xff08;列表&#xff09;更新列表删除列表元素列表函数&方法总结 Tuple&#xff08;元组&#xff09;修改元组删除元组总结 Set&#xff08;集合&#xff09;Dictionary&#xff0…

Anaconda安装-超详细版(2023)

Anaconda安装 - 超详细版&#xff08;2023&#xff09; 前言&#xff1a;彻底卸载pythonAnaconda下载地址安装详细步骤配置环境变量检验安装是否成功更改conda源&#xff08;后续安装第三方库可以加快速度&#xff09;超详细彻底卸载Anaconda教程Tensorflow-gpu 安装 前言&…

基于FPGA的视频接口之高速IO(光纤)

简介 对于高速IO口配置光纤&#xff0c;现在目前大部分开发板都有配置&#xff0c;且也有说明&#xff0c;在此根据自己的工作经验以及对于各开发板的说明归纳 通过高速IO接口&#xff0c;以及硬件配置&#xff0c;可以实现对于光纤的收发功能&#xff0c;由于GTX的速率在500Mb…

【NR技术】NR NG-RAN整体架构 -网络接口以及无线协议框架(四)

1 引言 本博文介绍NR NG-RAN的网络节点间的接口以及无线协议框架。网络接口介绍包括RAN和NGC之间的NG接口&#xff1b;无线协议框架包括用户面和控制面协议。 2 NG接口 2.1 NG用户面接口 NG-U (user plane interface)是NG-RAN节点与UPF之间的接口。NG接口的用户平面协议栈如图…

算法Day28 二进制差异序列(格雷码)

二进制差异序列&#xff08;格雷码&#xff09; Description n 位二进制差异序列是一个由2^n个整数组成的序列&#xff0c;其中&#xff1a; 每个整数都在范围[0, 2^n - 1]内&#xff08;含0和2^n - 1&#xff09; 第一个整数是0 一个整数在序列中出现不超过一次 每对相邻整数…

sdxl-turbo:adversarial diffusion distillation

【AIGC第三十一篇】SDXL Turbo&#xff1a;一种实时的文本到图像生成模型 - 知乎【 SDXL Turbo通过采用全新的蒸馏技术&#xff0c;实现了最先进的性能&#xff0c;能够以前所未有的质量进行单步图像生成&#xff0c;将所需的步骤数量从50步减少到仅需一步。这种创新技术大大提…

cache教程 2.单机并发缓存

0.对原教程的一些见解 个人认为原教程中两点知识的引入不够友好。 首先是只读数据结构 ByteView 的引入使用是有点迷茫的&#xff0c;可能不能很好理解为什么需要ByteView。 第二是主体结构 Group的引入也疑惑。其实要是熟悉groupcache&#xff0c;那对结构Group的使用是清晰…

最大公因数,最小公倍数详解

前言 对于初学编程的小伙伴们肯定经常遇见此类问题&#xff0c;而且为之头疼&#xff0c;今天我来给大家分享一下&#xff0c;最大公因数和最小公倍数的求法。让我们开始吧&#xff01; 文章目录 1&#xff0c;最大公因数法1法2法3 2&#xff0c;最小公倍数3&#xff0c;尾声 …

UE引擎 LandscapeGrass 实现机制分析(UE5.2)

前言 随着电脑和手机硬件性能越来越高&#xff0c;游戏越来越追求大世界&#xff0c;而大世界非常核心的一环是植被&#xff0c;目前UE5引擎提供给植被生成的主流两种方式为 手刷植被和LandscapeGrass(WeightMap程序化植被)。当然UE5.3推出新一代PCGFramework 节点程序化生成框…

Nvdiffrast高性能可微渲染开发包

NSDT工具推荐&#xff1a; Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 Nvdiffrast 是一个 PyTorch/TensorFlow 库&#xff0c;为基于光栅化的可微渲染提供高性能基…

2023/12/11 作业

1.思维导图 2.作业 成果&#xff1a; 第一个头文件 #ifndef TEST3GET_H #define TEST3GET_H #include <QWidget> #include<QMessageBox> QT_BEGIN_NAMESPACE namespace Ui { class test3get; } QT_END_NAMESPACE class test3get : public QWidget { Q_OBJE…

Ubuntu Destktop 22.04 设置 ssh 超时时间

Ubuntu Destktop 22.04 使用 ssh 连接服务器时&#xff0c;发现一段时间不操作就会自动断开连接&#xff0c;解决方法如下&#xff1a; 打开 /etc/ssh/ssh_config 文件&#xff1a; sudo vim /etc/ssh/ssh_config在文件最后添加&#xff1a; # ssh 客户端会每隔 30 秒发送一…