24/1/10 qt work

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

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

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

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

登录类:#include "mywidget.h"
#include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget)
{ui->setupUi(this);this->setWindowIcon(QIcon(":/Logo/qq.png"));this->setWindowFlag(Qt::FramelessWindowHint);//去掉空白部分this->setAttribute(Qt::WA_TranslucentBackground);
}MyWidget::~MyWidget()
{delete ui;
}void MyWidget::on_loginButton_clicked()
{//验证输入的用户名密码是否正确//弹出相应的窗口进行提示QString userName = ui->userNameEdit->text();QString passwd = ui->passwdEdit->text();if("admin" == userName && "123456" == passwd){//基于静态成员int ret = QMessageBox::information(this,"登录","登录成功,你好",QMessageBox::Ok);if(ret == QMessageBox::Ok){qDebug() << "登录成功,关闭当前窗口跳转到一个新的窗口";//发送信号emit this->my_signal();this->close();}}else{QString text = "";int flag = 0;if(userName == NULL && passwd == NULL){text = "账号和密码不能为空,请输入";flag = 1;}else{text ="账号和密码不匹配,是否重新登录";flag = 2;}//基于属性QMessageBox box(QMessageBox::Critical,"问题",text,QMessageBox::Yes | QMessageBox::No,this);int ret = box.exec();if(ret == QMessageBox::Yes && flag == 2){//清空用户输入的错误的密码及账号ui->userNameEdit->clear();ui->passwdEdit->clear();}else if(ret == QMessageBox::No){qDebug() << "关闭登录窗口";this->close();}}
}void MyWidget::on_exitButton_clicked()
{qDebug() << "退出,关闭窗口";this->close();
}主窗口类:#include "mainform.h"
#include "ui_mainform.h"MainForm::MainForm(QWidget *parent) :QWidget(parent),ui(new Ui::MainForm)
{ui->setupUi(this);
}MainForm::~MainForm()
{delete ui;
}void MainForm::my_slot(){qDebug() << "显示主窗口";this->show();
}main 主类#include "mywidget.h"
#include "mainform.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MyWidget w;MainForm m;//窗口绑定QObject::connect(&w,&MyWidget::my_signal,&m,&MainForm::my_slot);w.show();return a.exec();
}

1. 登录失败

2. 登录成功

2. 思维导图

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

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

相关文章

特征工程:图像数据不足时的处理办法

在机器学习中&#xff0c;绝大部分模型都需要大量的数据进行训练和学习&#xff08;包括有监督学习和无监督学习&#xff09;&#xff0c;然而在实际应用中经常会遇到训练数据不足的问题。比如图像分类&#xff0c;作为计算机视觉最基本的任务之一&#xff0c;其目标是将每幅图…

红队打靶练习:TOMMY BOY: 1

目录 信息收集 1、arp 2、nmap 3、nikto 4、whatweb WEB robots.txt get flag1 get flag2 FTP登录 文件下载 更改代理 ffuf爆破 get flag3 crunch密码生成 wpscan 1、密码爆破 2、登录wordpress ssh登录 get flag4 信息收集 get flag5 信息收集 1、arp …

1-01初识C语言

一、概述 C语言是贝尔实验室的Ken Thompson&#xff08;肯汤普逊&#xff09;、Dennis Ritchie&#xff08;丹尼斯里奇&#xff09;等人开发的UNIX 操作系统的“副产品”&#xff0c;诞生于1970年代初。 Thompson和Ritchie共同创作完成了Unix操作系统&#xff0c;他们都被称为…

可编程线性霍尔传感器 IC

一、产品概述 CC6521/2 是一款高性能的可编程线性霍尔传感器 IC&#xff0c;采用先进的 BiCMOS 制程生产&#xff0c;具有霍尔系数高的优点&#xff0c;芯片内部包含了高灵敏度 霍尔传感器&#xff0c;霍尔信号预放大器&#xff0c;高精度的霍尔温度补偿单元&#xff0c;振荡…

Abaqus许可分析方法:为企业提供高效、准确的许可管理解决方案

在当今的知识产权保护和许可管理领域&#xff0c;许可分析方法的应用越来越广泛。Abaqus许可分析方法是一种高效、准确的许可管理解决方案&#xff0c;能够帮助企业更好地保护其知识产权&#xff0c;优化许可协议管理&#xff0c;降低风险并提高业务增长。 一、Abaqus许可分析…

IO进程线程 day8

使用信号量灯集同步三个进程操作共享内存打印ABC head.h #ifndef __SEM_H__ #define __SEM_H__//创建信号灯集并初始化 int create_sem(int semcount);//申请资源 P操作 int P(int semid,int semno);//释放资源 V操作 int V(int semid,int semno);//删除信号灯集 int delete_…

CT检测中的CT是什么意思,可以用来哪些检测,如何成像的。

问题描述&#xff1a;CT检测中的CT是什么意思&#xff0c;可以用来哪些检测&#xff0c;如何成像的。 问题解答&#xff1a; CT是Computed Tomography的缩写&#xff0c;中文称为电子计算机断层扫描。CT是一种利用X线束、γ射线、超声波等对人体某一部位进行连续的断面扫描&a…

【博士每天一篇文-算法】Graph Structure of Neural Networks

阅读时间&#xff1a;2023-11-12 1 介绍 年份&#xff1a;2020 作者&#xff1a;尤家轩 斯坦福大学 期刊&#xff1a; International Conference on Machine Learning. 引用量&#xff1a;130 论文探讨了神经网络的图结构与其预测性能之间的关系。作者提出了一种新的基于图的…

Java基础 |数组排序

Java基础课| 数组排序 冒泡排序直接选择排序反转排序 冒泡排序 他排序数组的过程中总将较小的数往前排&#xff0c;较大的数往后放&#xff0c;类似水中气泡往上升的动作&#xff0c;所以叫冒泡排序。 基本思想是对比相邻的元素值&#xff0c;如果满足条件就交换元素值&#x…

2024-01-01 K 次取反后最大化的数组和和加油站以及根据身高重建队列

1005. K 次取反后最大化的数组和 思路&#xff1a;每一次取反最小值即可&#xff01;贪心的思路就是先排序&#xff0c;反转负数的值&#xff0c;后在贪心反转最小值 class Solution:def largestSumAfterKNegations(self, nums: List[int], k: int) -> int:count 0while …

Unity中URP下开启和使用深度图

文章目录 前言一、在Unity中打开URP下的深度图二、在Shader中开启深度图1、使用不透明渲染队列才可以使用深度图2、半透明渲染队列深度图就会关闭 三、URP深度图 和 BRP深度图的区别四、在Shader中&#xff0c;使用深度图1、定义纹理和采样器2、在片元着色器对深度图采样并且输…

LeetCode刷题--- 最小路径和

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…

setup 语法糖

只有vue3.2以上版本可以使用 优点&#xff1a; 更少的样板内容&#xff0c;更简洁的代码 能够使用纯 Typescript 声明props 和抛出事件 更好的运行时性能 更好的IDE类型推断性能 在sciprt标识上加上setup 顶层绑定都可以使用 不需要return &#xff0c;可以直接使用 使用组件…

Redis异步写失败后补数逻辑设计

背景 最近各种机房事故频发&#xff0c;所以很多公司都对Redis存储等进行异步多活&#xff0c;我们公司采用的方式是通过客户端双写的方式来实现异地Redis机房的备份&#xff0c;但是当异地机房出现临时网络故障时&#xff0c;就涉及到了如何进行补数的操作&#xff0c;本文就…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机图像转换由Mono10转换为Mono8(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机图像转换由Mono10转换为Mono8&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的Mono10转换为Mono8图的技术背景在NEOAPI SDK里实现相机图像由Mono10转换为Mono8格式 工业相机通过NEOAPI SDK实现相机图像转换的优…

【大麦小米学量化】升级pywencai解决同花顺问财接口访问问题实现智能选股(小白避坑指南)

文章目录 前言一、pywencai 怎么了&#xff1f;二、解决办法三、智能选股代码&#xff08;缺环境的&#xff0c;请看开头文章推荐的博文&#xff09;总结 前言 前面撰文&#xff1a;【大麦小米学量化】通过pywencai访问同花顺问财接口实现智能选股 很多小伙伴应该已经用得很六…

理解Herbrand Equivalence

笔者最近在看GVN的一系列论文&#xff0c;总会看到一个概念叫Herbran Equivalence&#xff0c;依靠这种定义&#xff0c;能够判断一个GVN算法是否是complete的&#xff0c;也即检测一个算法是否是precise的&#xff0c;只有找到所有Herbrand Equivalence关系的算法才能称得上是…

Ddos攻击防御之使用nginx

Ddos 攻击是最常见的web攻击了,原理非常简单,用自己的电脑模拟大量用户发送大量请求,apache 的 ab 压力测试工具就可以做到这一点,如果我这样做,而对方的服务器配置没有我电脑好,那么一会之后,对方的服务器就难以响应其他用户的请求,如果我控制了大量肉鸡并使用这些肉鸡…

2024.1.10

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

01-你好Python-python环境安装 python解释器的安装 pycharm的安装

python环境安装 官方网址&#xff1a;https://python.org 这里可以下载最新版本的&#xff0c;下载完成以后在自己的浏览器文件下载的文件夹中找到该文件 下载速度可能会比较慢&#xff0c;这里已经提供好了文件&#xff0c;可以直接点击安装 点击Customize installation 点击…