2.22 Qt day3 多界面跳转+qss登录界面优化+发布软件+对话框

思维导图:

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

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

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

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

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_logBtn_clicked();void clicked();void on_cancelBtn_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

second.h:

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

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);//去掉空白
}Widget::~Widget()
{delete ui;
}void Widget::on_logBtn_clicked()
{//获取行编辑器userNameEdit和passwdEdit的内容//并和账号admin、密码123456进行比对if(ui->userNameEdit->text()=="admin"&&ui->passwdEdit->text()=="123456"){//弹出消息对话框QMessageBox msg(QMessageBox::Information,//对话框图标"提示",//对话框标题"登录成功",//提示文本QMessageBox::Yes,//提供的按钮this);////调用exec弹出对话框msg.exec();//跳转到第二个界面my_signal();//关闭窗口this->close();}else{//弹出消息对话框QMessageBox msg(QMessageBox::Critical,//对话框图标"错误",//对话框标题"账号和密码不匹配,是否重新登录",//提示文本QMessageBox::Yes|QMessageBox::No,//提供的按钮this);//指定父组件//调用exec弹出对话框int ret=msg.exec();//根据用户的选择 执行不同的功能if(ret==QMessageBox::Yes){//清空行编辑器passwdEditd的内容ui->passwdEdit->clear();}else if(ret==QMessageBox::No){//关闭窗口this->close();}}
}void Widget::clicked()
{//触发信号emit this->my_signal();
}
//取消按钮槽函数
void Widget::on_cancelBtn_clicked()
{int ret = QMessageBox::question(//函数名this, //指定父组件"", //标题"您是否确定要退出登录?", //文本QMessageBox::Yes | QMessageBox::No//提供按钮);//判断用户选中的按钮if(ret == QMessageBox::Yes){//关闭登录界面,this->close();}
}

second.cpp:

#include "second.h"
#include "ui_second.h"Second::Second(QWidget *parent) :QWidget(parent),ui(new Ui::Second)
{ui->setupUi(this);}Second::~Second()
{delete ui;
}
void Second::my_slot()
{this->show();
}

widget.ui:

*{background-color: rgb(255, 255, 255);
}
QFrame#frame{border-image: url(:/Logo/shanChuan.jpg);border-radius:10px;
}
#frame_2{background-color: rgba(157, 157, 157, 120);border-radius:10px;
}
QLabel#label{background-color: rgba(94, 94, 94, 130);border-radius:10px;
}
#label_2{font: 18pt "等线";background:transparent;/*背景完全透明*/color: rgba(255, 255, 255, 120);
}
#label_3{font: 8pt "等线";background:transparent;/*背景完全透明*/color: rgba(255, 255, 255, 120);
}
QLineEdit{background:transparent;border:none;/*无边框*/border-bottom:1px solid rgba(255, 255, 255, 120);font: 16pt "仿宋";color: rgba(255, 255, 255, 120);
}
QPushButton{border-radius:10px;background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(90, 120, 221, 255), stop:1 rgba(255, 255, 255, 255));font: 18pt "仿宋";color: rgba(255, 255, 255, 120);
}
QPushButton:hover{/*鼠标移动*/border-radius:10px;background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(48, 120, 221, 255), stop:1 rgba(255, 255, 255, 255));font: 18pt "仿宋";color: rgba(255, 255, 255, 120);
}
QPushButton:pressed{/*鼠标按下*/border-radius:10px;background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(90, 120, 221, 255), stop:1 rgba(255, 255, 255, 255));font: 18pt "仿宋";color: rgba(255, 255, 255, 120);padding-top:5px;padding-left:5px;
}

结果:

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

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

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

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

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

相关文章

C# Onnx 使用onnxruntime部署实时视频帧插值

目录 介绍 效果 模型信息 项目 代码 下载 C# Onnx 使用onnxruntime部署实时视频帧插值 介绍 github地址&#xff1a;https://github.com/google-research/frame-interpolation FILM: Frame Interpolation for Large Motion, In ECCV 2022. The official Tensorflow 2…

flutter开发实战-手势Gesture与ListView滚动竞技场的可滑动关闭组件

flutter开发实战-手势Gesture与ListView滚动竞技场的可滑动关闭组件 最近看到了一个插件&#xff0c;实现一个可滑动关闭组件。滑动关闭组件即手指向下滑动&#xff0c;组件随手指移动&#xff0c;当移动一定位置时候&#xff0c;手指抬起后组件滑出屏幕。 一、GestureDetect…

websocket与Socket的区别

概念讲解 网络&#xff1a;通俗意义上&#xff0c;也就是连接两台计算器 五层网络模型&#xff1a;应用层、传输层、网络层、数据链路层、物理层 应用层 (application layer)&#xff1a;直接为应用进程提供服务。应用层协议定义的是应用进程间通讯和交互的规则&#xff0c;不…

《C++ Primer Plus》《7、函数——C++的编程模块》

文章目录 前言1复习函数的基本知识1.1定义函数1.2函数原型和调用函数 2函数的参数和按值传递2.1多个参数2.2另一个接受两个参数的函数 3函数和数组3.1函数如何用指针来处理数组3.2将数组作为参数意味着什么3.3更多的数组函数示例3.4使用数组区间的函数3.5指针和const 4函数和二…

跳格子3 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 小明和朋友们一起玩跳格子游戏&#xff0c;每个格子上有特定的分数&#xff0c;score[] [1 -1 -6 7 -17 7]&#xff0c; 从起点score[0]开始&#xff0c;每次最…

应急响应实战笔记03权限维持篇(2)

关键词&#xff1a;Windows系统后门、权限维持 在获取服务器权限后&#xff0c;通常会用一些后门技术来维持服务器权限&#xff0c;服务器一旦被植入后门&#xff0c;攻击者便如入无人之境。本文将对常见的window服务端自启动后门技术进行解析&#xff0c;知己知彼方能杜绝后门…

【计算机网络】数据链路层|封装成帧|透明传输|差错检测|PPP协议|CSMA/CD协议

目录 一、思维导图 ​ 二、数据链路层功能概述 1.数据链路层概述 2.数据链路层功能概述——封装成帧 3.数据链路层功能概述——透明传输 4.数据链路层功能概述——差错检测 三、数据链路层重要协议 1.数据链路层重要协议&#xff1a;PPP协议 2.数据链路层重要协议&#x…

Spring 类型转换、数值绑定与验证(二)—PropertyEditor与Conversion

Spring 中&#xff0c;属性类型转换是在将数值绑定到目标对象时完成的。例如在创建ApplicationContext 容器时&#xff0c;将XML配置的bean 转换成Java类型对象&#xff0c;主要是借助了PropertyEditor类&#xff0c;而在Spring MVC 的Controller的请求参数转化为特定类型时&am…

论文阅读《Sylph: A Hypernetwork Framework for Incremental Few-shot Object Detection》

论文地址&#xff1a;https://arxiv.org/abs/2203.13903 代码地址&#xff1a;https://github.com/facebookresearch/sylph-few-shot-detection 目录 1、存在的问题2、算法简介3、算法细节3.1、基础检测器3.2、小样本超网络3.2.1、支持集特征提取3.2.2、代码预测3.2.3、代码聚合…

c++服务器开源项目Tinywebserver运行

c服务器开源项目Tinywebserver运行 一、Tinywebserver介绍二、环境搭建三、构建数据库四、编译Tinywebserver五、查看效果 Tinywebserver是github上一个十分优秀的开源项目&#xff0c;帮助初学者学习如何搭建一个服务器。 本文讲述如何在使用mysql跟该项目进行连接并将项目运行…

中科大计网学习记录笔记(十三):UDP 套接字编程 | 传输层概述和传输层的服务

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…

igolang学习2,golang开发配置国内镜像

go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct

轻松掌握opencv的8种图像变换

文章目录 opencv的8种图像变换1. 图像放大、缩小2. 图像平移3. 图像旋转4. 图像仿射变换5. 图像裁剪6. 图像的位运算&#xff08;AND, OR, XOR&#xff09;7. 图像的分离和融合8. 图像的颜色空间 opencv的8种图像变换 1. 图像放大、缩小 我们先看下原图 import cv2 import ma…

Stable Diffusion 模型分享:A-Zovya RPG Artist Tools(RPG 大师工具箱)

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八 下载地址 模型介绍 A-Zovya RPG Artist Tools 模型是一个针对 RPG 训练的一个模型&#xff0c;可以生成一些 R…

用友U8库存展望数据显示错误

1、库存展望显示有订单在途。 2、双击查看明细&#xff0c;显示某个采购订单显示有预计入库量。 3、查询该采购订单&#xff0c;发现已入库完成未退货&#xff0c;确定为数据异常。 修改采购订单表体的iReceivedQTY(累计到货数量)字段后&#xff0c;恢复正常。 UPDATE dbo.PO_…

这6款实用的AI写作软件你值得拥有

在当今信息爆炸的时代&#xff0c;人们对于高效、便捷的写作工具需求越来越迫切。AI写作软件应运而生&#xff0c;为广大写作者提供了更加智能、高效的写作方式。在国内&#xff0c;有许多优秀的AI写作软件&#xff0c;下面就为大家介绍6款实用的AI写作软件&#xff0c;让你的写…

ELK 简介安装

1、概念介绍 日志介绍 日志就是程序产生的&#xff0c;遵循一定格式&#xff08;通常包含时间戳&#xff09;的文本数据。 通常日志由服务器生成&#xff0c;输出到不同的文件中&#xff0c;一般会有系统日志、 应用日志、安全日志。这些日志分散地存储在不同的机器上。 日志…

Unity Meta XR SDK 快捷配置开发工具【Building Block/Quick Action/OVRCameraRigInteraction】

文章目录 &#x1f4d5;教程说明&#x1f4d5;Building Block&#x1f4d5;Quick Action&#x1f4d5;OVRCameraRigInteraction 此教程相关的详细教案&#xff0c;文档&#xff0c;思维导图和工程文件会放入 Spatial XR 社区。这是一个高质量 XR 社区&#xff0c;博主目前在内…

如何设置路由器的端口映射?

路由器端口映射是一种常用的网络配置方式&#xff0c;可以将外部网络请求转发到内部网络上的指定设备。通过设置端口映射&#xff0c;我们可以实现远程访问局域网内的设备&#xff0c;使其在任何网络环境下都可以被访问。本文将介绍如何设置路由器的端口映射&#xff0c;以便实…

华为OD机试真题-查找接口成功率最优时间段-2023年OD统一考试(C卷)--Python3--开源

题目&#xff1a; 考察内容&#xff1a; for 时间窗口list(append, sum, sort) join 代码&#xff1a; """ 题目分析&#xff1a;最长时间段 且平均值小于等于minLost同时存在多个时间段&#xff0c;则输出多个&#xff0c;从大到小排序未找到返回 NULL 输入…