基于Qt的登录页面设计

题目:

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

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

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

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

主函数:

#include "widget.h"
#include "speaking.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();speaking s;QObject::connect(&w,&Widget::my_jump,&s,&speaking::my_solt);return a.exec();
}

第一个界面头文件:

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

第一个界面实现文件:

#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.png"));
}Widget::~Widget()
{delete ui;
}//登录按钮相关功能
void Widget::on_pushButton_clicked()
{//判断账号和密码是否一致if(ui->usernameEdit->text() == "admin" && ui->passwordEdit->text() == "123456"){//跳转到另一个窗口emit this->my_jump();//基于属性版本实现对话框QMessageBox msg(QMessageBox::Information,"提示信息","登录成功",QMessageBox::Ok,this);//使用exec弹出对话框int ret = msg.exec();if(ret == QMessageBox::Ok){this->close();}}else{//基于静态成员函数信息实现对话框int ret2 = QMessageBox::information(this,"提示信息","账号和密码不匹配,请重新登录",QMessageBox::Yes | QMessageBox::No);//点击Yes清除重新输入if(ret2 == QMessageBox::Yes){ui->passwordEdit->clear();}//点击No直接关闭登陆页面else if(ret2 == 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();}
}

第二个页面头文件

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

第二个界面实现文件

#include "speaking.h"
#include "ui_speaking.h"speaking::speaking(QWidget *parent) :QWidget(parent),ui(new Ui::speaking)
{ui->setupUi(this);}speaking::~speaking()
{delete ui;
}void speaking::my_solt()
{this->show();
}

实现界面:

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

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

相关文章

Node.js管理工具npm简单介绍

1.npm用途说明 我们在写node.js项目的时候npm工具是避免不的&#xff0c;那么我们如何使用该工具去管理包文具呢&#xff1f;首先我们先介绍npm工具的几种用途&#xff1a; 可以从npm服务器下载别人编写的第三方包到本地使用。可以从npm服务器下载并安装别人编写的命令行程序…

音乐制作工具 Ableton Live 12中文最新 for Mac

Ableton Live 12 Mac具有直观的界面和强大的功能&#xff0c;使得音乐制作变得更加简单和高效。它支持实时录制、编辑和混音&#xff0c;用户可以在创作过程中随时进行修改和调整。此外&#xff0c;该软件还提供了各种音频效果、虚拟乐器和采样器&#xff0c;使用户可以创建出更…

Springboot入门篇

一、概述 Spring是一个开源框架&#xff0c;2003 年兴起的一个轻量级的Java 开发框架&#xff0c;作者Rod Johnson 。Spring是为了解决企业级应用开发的复杂性而创建的&#xff0c;简化开发。 1.1对比 对比一下 Spring 程序和 SpringBoot 程序。如下图 坐标 Spring 程序中的…

深入理解模板引擎:解锁 Web 开发的新境界(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

TrustZone之完成器:外围设备和内存

到目前为止,在本指南中,我们集中讨论了处理器,但TrustZone远不止是一组处理器功能。要充分利用TrustZone功能,我们还需要系统其余部分的支持。以下是一个启用了TrustZone的系统示例: 本节探讨了该系统中的关键组件以及它们在TrustZone中的作用。 完成器:外围设备…

11、vue3(十一):sku管理:商品上下架,商品详情,删除sku

目录 一、sku查询页面完成 1.代码实现 (1)完成入参出参、接口代码 (2)首页页面

点评项目——秒杀优化

2023.12.11 上一张的秒杀券下单还可以进行优化&#xff0c;先来回顾一下下单流程&#xff1a; 可以看出流程设计多次查询和操作数据库的操作&#xff0c;并且执行顺序是一个线程串行执行&#xff0c;执行性能是比较低的。 优化方案&#xff1a;我们将判断秒杀库存和校验一人一单…

WPF里面的Dispatcher详解

在WPF应用程序中,Application.Current.Dispatcher是一个重要的属性。它允许开发者在WPF应用程序的主线程上执行操作,这对于确保UI响应性和避免假死(程序没有响应用户输入)非常关键。主线程负责接收输入、处理事件、绘制屏幕等任务。为了避免在主线程上执行耗时的操作,开发…

websocket和SSE通信示例(无需安装任何插件)

websocket和SSE通信示例&#xff08;无需安装任何插件&#xff09; 源码示例&#xff08;两种方案任意切换&#xff09; data(){return {heartBeatInterval:5000,// 心跳间隔时间&#xff0c;单位为毫秒webSocket:null,heartBeatTimer:null,} }, mounted() {// this.initWebS…

从零开始实现神经网络(三)_RNN循环神经网络

参考文章&#xff1a;rnn循环神经网络介绍 循环神经网络 &#xff08;RNN&#xff09; 是一种专门处理序列的神经网络。它们通常用于自然语言处理 &#xff08;NLP&#xff09; 任务&#xff0c;因为它们在处理文本方面很有效。在这篇文章中&#xff0c;我们将探讨什么是 RNN&a…

图文教程:从0开始安装stable-diffusion

现在AI绘画还是挺火&#xff0c;Midjourney虽然不错&#xff0c;但是对于我来说还是挺贵的。今天我就来安一下开源的AI绘画stable-diffusion,它的缺点就是对电脑的要求比较高&#xff0c;尤其是显卡。 话不多说开搞。 访问sd的github&#xff0c;https://github.com/AUTOMATIC…

〖大前端 - 基础入门三大核心之JS篇(51)〗- 面向对象之认识上下文与上下文规则

说明&#xff1a;该文属于 大前端全栈架构白宝书专栏&#xff0c;目前阶段免费&#xff0c;如需要项目实战或者是体系化资源&#xff0c;文末名片加V&#xff01;作者&#xff1a;哈哥撩编程&#xff0c;十余年工作经验, 从事过全栈研发、产品经理等工作&#xff0c;目前在公司…

qt-C++笔记之addAction和addMenu的区别以及QAction的使用场景

qt-C笔记之addAction和addMenu的区别以及QAction的使用场景 code review! 文章目录 qt-C笔记之addAction和addMenu的区别以及QAction的使用场景1.QMenu和QMenuBar的关系与区别2.addMenu和addAction的使用场景区别3.将QAction的信号连接到槽函数4.QAction的使用场景5.将例1修改…

基于单片机智能浇花控制系统设计

**单片机设计介绍&#xff0c;基于单片机智能浇花控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能浇花控制系统可以通过水泵、传感器和单片机等硬件组件实现自动浇水&#xff0c;减轻人工浇花的工作…

【LeeCode】151.翻转字符串里的单词

给你一个字符串 s &#xff0c;请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意&#xff1a;输入字符串 s中可能会存在前导空格、尾随…

Mysql mybatis 语法示例

service package com.ruoyi.goods.service;import java.util.List; import com.ruoyi.goods.domain.GoodsProducts;/*** 商品Service接口* * author ruoyi* date 2023-08-27*/ public interface IGoodsProductsService {/*** 查询商品* * param ProductID 商品主键* return 商…

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(三)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python环境TensorFlow 环境Jupyter Notebook环境Pycharm 环境微信开发者工具OneNET云平台 模块实现1. 数据预处理1&#xff09;爬取功能2&#xff09;下载功能 2. 创建模型并编译1&#xff09;定义模型结构2&#xff09;优化…

Docker与K8s的区别

Docker 和 K8s&#xff08;Kubernetes&#xff09;是两个不同的技术&#xff0c;它们在容器化应用程序的管理和部署方面有着不同的角色和功能。 Docker 是一种容器化平台&#xff0c;它允许您将应用程序及其所有依赖项打包到一个独立的、可移植的容器中。Docker 提供了一种轻量…

《PySpark大数据分析实战》-03.了解Hive

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…